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

47 commits

Author SHA1 Message Date
Jakob Rath
d69155b9e9
Shared features from polysat branch (#6567)
* Allow setting default debug action

* Fix dlist and add iterator

* Add var_queue iterator

* Add some helpers

* rational: machine_div2k and pseudo_inverse

* Basic support for non-copyable types in map

* tbv helpers

* pdd updates

* Remove duplicate functions

gcc doesn't like having both versions
2023-02-03 13:08:47 -08:00
Jakob Rath
de6a0ab1a7 PDD operations 2022-08-01 18:37:11 +03: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
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
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
Nikolaj Bjorner
c2b353ba72 adding factorization 2021-03-26 14:58:24 -07:00
Nikolaj Bjorner
2fef6dc502 more scaffolding 2021-03-21 11:31:14 -07:00
Nikolaj Bjorner
d0e20e44ff booyah
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
Nuno Lopes
e844aef896 remove a few more copy constructors, though still not enough to enable the assertion in vector
I give up for now; there are too many copies left for little return..
2020-06-03 20:32:13 +01:00
Nikolaj Bjorner
b889b110ee bool_vector, some spacer tidy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 12:59:04 -07:00
Lev Nachmanson
06203d227e cleanup the grobner config init
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
7ad95aa5d2 Nikolaj fixes pdd_manager::reduce() to work with the changed order
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
d6a246777a Nikolaj implemented lm_lt on dd::pdd
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
cca19ef1a7 unit tests for dd_pdd ordering
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
61da9a8aeb test the new order on pdd
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
407c8a60db reverse the order of vars for pdd_grobner, use pdd_grobner.reset()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
b5364b787c set level2var for m_pdd_manager of pdd_grobner
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
610a2837ea rebase with Z3Prover
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
5e19a52772 merge changes from Z3Prover
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Nikolaj Bjorner
301f9598a4 fixing leading term computation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-08 12:10:23 -08:00
Nikolaj Bjorner
2acab46388 anf translation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-05 21:09:52 -08:00
Nikolaj Bjorner
d27a949ae9 add anf and aig simplifier modules, cut-set enumeration, aig_finder, hoist out xor_finder from ba_solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-05 16:46:49 -08:00
Nikolaj Bjorner
40a4326ad4 add anf
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-05 16:46:49 -08:00
Nikolaj Bjorner
1d0572354b add bit-matrix, avoid flattening and/or after bit-blasting, split pdd_grobner into solver/simplifier, add xlin, add smtfd option for incremental mode logic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-01 20:14:20 -08:00
Nikolaj Bjorner
1fd4c91fbf fixes to reset
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-28 15:31:20 -08:00
Nikolaj Bjorner
914856b9ba na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-26 14:31:05 -08:00
Nikolaj Bjorner
2c6e6b1fdb resolve
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-26 02:30:12 -08:00
Nuno Lopes
d13f1310a7 fix build 2019-12-26 10:21:51 +00:00
Nikolaj Bjorner
50873c8094 reduce simplification
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-26 01:32:36 -08:00
Nikolaj Bjorner
65d818437a add simplification routines
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-25 19:31:18 -08:00
Nikolaj Bjorner
5a68fc8c07 fix pdd_stack for gc on reduce, add unit test for linear_simplify
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-25 11:05:59 -08:00
Nikolaj Bjorner
34ae55f4f5 fix gc bug 2019-12-23 18:29:42 -08:00
Nikolaj Bjorner
77868f3d96 added notes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-23 12:32:02 -08:00
Nikolaj Bjorner
25b98f497a adding level2var
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-22 11:51:04 -08:00
Nikolaj Bjorner
feff6a2add fix build, add ZDD reference
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-20 11:49:50 -08:00
Nikolaj Bjorner
1f9aff04df fix 2808
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-20 11:29:08 -08:00
Nikolaj Bjorner
6ad55cc8f6 add tuned implementation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-19 15:26:55 -08:00
Nikolaj Bjorner
27b69cf280 updates
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-18 17:03:56 -08:00
Nikolaj Bjorner
469f618742 build dependencies, invariant annotation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-18 13:48:27 -08:00
Nikolaj Bjorner
5e0799225d adding pdd-grobner
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-18 12:03:13 -08:00
Nikolaj Bjorner
ca0a52c930 some const qualifiers
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-17 21:59:05 -08:00
Nikolaj Bjorner
1680585827 swap sub with minus
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-17 21:46:55 -08:00
Nikolaj Bjorner
a744a465e6 pdd fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-17 21:25:18 -08:00
Nikolaj Bjorner
f7eb5f8840 merge unary minus
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-17 17:10:35 -08:00
Nikolaj Bjorner
9e4a7ae4b8 add pdd
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-17 16:59:33 -08:00