3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 17:45:32 +00:00
Commit graph

169 commits

Author SHA1 Message Date
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
437f826e8b sketch parity generalization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-07 20:04:58 -08:00
Nikolaj Bjorner
eda3cac8d4 chasing interval bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-03 07:49:17 -08:00
Jakob Rath
ea9e5a47c7 -1 2022-11-30 15:24:35 +01:00
Jakob Rath
5b6e383c88 Pretty-print powers of two 2022-11-29 15:49:58 +01:00
Jakob Rath
e6c9e13848 Disable copy/move of pdd_manager 2022-11-28 17:41:04 +01:00
Jakob Rath
022c06f75d pdd::subst_get 2022-11-18 15:14:38 +01:00
Jakob Rath
8242069ba6 One more case for ule_constraint::is_always_false 2022-09-29 18:22:31 +02:00
Nikolaj Bjorner
8128ae8109 generalize subsumption to non-univariate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-22 10:46:49 -07:00
Nikolaj Bjorner
31ffe89480 normalize more pretty printing 2022-08-17 08:24:41 -07:00
Jakob Rath
4282cfa148 Remove unused variable 2022-08-04 08:55:04 +02:00
Jakob Rath
220a63e8bd Merge branch 'master' into polysat 2022-08-01 11:27:49 +02:00
Bruce Mitchener
3e38bbb009
Make sure all headers do #pragma once. (#6188) 2022-07-23 10:41:14 -07:00
Jakob Rath
1b370727b1 remove redundant subst_val 2022-07-21 13:15:02 +02:00
Jakob Rath
e168d8a2eb Merge branch 'master' into polysat 2022-07-21 12:56:50 +02:00
Nikolaj Bjorner
4ecb61aeaa neatify
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-15 09:53:56 -07:00
Nikolaj Bjorner
b29cdca936 integrate factorization to Grobner 2022-07-14 21:24:27 -07:00
Nikolaj Bjorner
4a192850f2 add var_factors
Add routine to partially factor polynomials. It factors out variables.
2022-07-14 11:06:53 -07:00
Nikolaj Bjorner
316ed778e0 Tune Grobner equations
\brief convert p == 0 into a solved form v == r, such that
   v has bounds [lo, oo) iff r has bounds [lo', oo)
   v has bounds (oo,hi]  iff r has bounds (oo,hi']

   The solved form allows the Grobner solver identify more bounds conflicts.
   A bad leading term can miss bounds conflicts.
   For example for x + y + z == 0 where x, y : [0, oo) and z : (oo,0]
   we prefer to solve z == -x - y instead of x == -z - y
   because the solution -z - y has neither an upper, nor a lower bound.

The Grobner solver is augmented with a notion of a substitution that is applied before the solver is run.
2022-07-11 16:14:26 -07:00
Nikolaj Bjorner
f33c933241 Add substitution routine to pdd
For Grobner we want to preserve directions of intervals for finding sign conflicts. This means that it makes sense to have external control over linear solutions.
2022-07-11 12:10:28 -07:00
Nikolaj Bjorner
b68af0c1e5 working on reconciling perf for arithmetic solvers
this update integrates inferences to smt.arith.solver=6 related to grobner basis computation and handling of div/mod axioms to reconcile performance with smt.arith.solver=2.

The default of smt.arth.nl.grobner_subs_fixed is changed to 1 to make comparison with solver=2 more direct.

The selection of cluster equalities for solver=6 was reconciled with how it is done for solver=2.
2022-07-11 07:38:51 -07:00
Jakob Rath
e5e79c1d4b Merge branch 'master' into polysat 2022-07-01 16:11:17 +02:00
Nikolaj Bjorner
3d00d1d56b prepare for equality propagation from Grobner basis
Attempt to remedy performance regressions from the new solver core for NLA. It misses easy lemmas, presumably due to weaker bounds information.
2022-06-14 09:51:07 -07:00
Jakob Rath
9d47d7959d helper functions to add constraints to univariate_solver 2022-03-17 14:08:00 +01:00
Jakob Rath
1de51da67e get univariate coefficients 2022-03-11 18:03:39 +01: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
6df23fbce3 add note about a bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-26 16:58:00 -08:00
Nikolaj Bjorner
0eaf5a8510 factor cache pointers are invalid if the table is resized
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-26 16:18:18 -08:00
Nikolaj Bjorner
5e1ad37533 share subst node
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-23 10:39:42 +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
Jakob Rath
28864e563c First version of refine_disequal_lin 2021-12-23 18:36:27 +01:00
Nikolaj Bjorner
7bf76dd1f6 finally!
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-12 10:26:54 -08:00
Nikolaj Bjorner
f1d46b58a4 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-11 17:38:09 -08:00
Nikolaj Bjorner
59acd77981 n
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-11 13:01:08 -08:00
Nikolaj Bjorner
6478e789e9 optimizations, fixes, TODO items
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-21 14:50:18 -07:00
Nikolaj Bjorner
1e3ff3179e handle empty clauses created as lemmas as unsat state.
add unit tests
2021-09-19 15:43:47 -04:00
Nikolaj Bjorner
c69c316b27 enable reduce_by, more tests 2021-09-19 13:41:39 -04:00
Nikolaj Bjorner
fa3886136b adding Boolean propagation, watch; and factoring 2021-09-18 22:18:15 -04:00
Nikolaj Bjorner
611c28fc47 push outline of using cjust for overflow premise
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-09 09:56:00 +02:00
Nikolaj Bjorner
d8f0926620 re-adding saturation for inequalities
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-07 23:20:17 +02:00
Nikolaj Bjorner
d5ff672aaa generalize co-factor to handle cubes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-05 14:10:09 +02:00
Nikolaj Bjorner
04ce8ca5ef u256, separate viable_set
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-04 23:47:12 -07:00
Nikolaj Bjorner
788de7d614 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 02:48:45 -07:00
Nikolaj Bjorner
05bcf0bed7 test sup
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-01 10:33:25 -07:00
Nikolaj Bjorner
5edc939b85 inf
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-30 21:29:28 -07:00
Nikolaj Bjorner
7d5a1acb61 test sup
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-30 21:12:00 -07:00
Nikolaj Bjorner
6eae7d71db sketch computation for sup
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-30 20:07:10 -07:00
Nikolaj Bjorner
b9f6fc5130 debug buidl
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-30 13:55:57 -07:00
Nikolaj Bjorner
5549301335 remove unreachable code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-30 09:13:13 -07:00