3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-20 12:53:38 +00:00
Commit graph

49 commits

Author SHA1 Message Date
Nuno Lopes
737c2208fa delete more default constructors
reduces code size by 0.1%
2024-09-23 12:59:04 +01:00
Nikolaj Bjorner
4a870966ad add code to enable unit propagation of bounds
set UNIT_PROPAGATE_BOUNDS 1 to use the unit propagation version. It applies unit propagation eagerly (does not depend on checking LIA consistency before final check) and avoid creating new literals in most cases
2023-10-09 16:04:39 +09:00
Nikolaj Bjorner
5e3df9ee77
Arith min max (#6864)
* prepare for dependencies

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* snapshot

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* more refactoring

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* more refactoring

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* build

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* pass in u_dependency_manager

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* address NYIs

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* more refactoring names

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* eq_explanation update

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add outline of bounds improvement functionality

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix unit tests

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove unused structs

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* more bounds

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* more bounds

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* convert more internals to use u_dependency instead of constraint_index

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* convert more internals to use u_dependency instead of constraint_index

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remember to push/pop scopes

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* use the main function for updating bounds

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove reset of shared dep manager

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* disable improve-bounds, add statistics

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

---------

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-19 17:44:09 -07:00
Nikolaj Bjorner
f0afbcbb87 fix #6686 2023-04-12 20:13:24 -07:00
Nikolaj Bjorner
fb1f4f3a2c add pragma
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-27 18:03:06 -08:00
Nikolaj Bjorner
91d6082f2f Move modular interval to interval directory 2023-01-27 17:55:36 -08:00
Nikolaj Bjorner
d9f9cceea4 use intervals for tracking bounds on arithmetic variables
leverage interval propagation for bounds.
merge functionality with propagate-ineqs tactic
remove the new propagate-bounds tactic and instead use propagate-ineqs
2023-01-23 14:13:03 -08:00
Bruce Mitchener
6ba9ada1e2
Fix typos. (#6291) 2022-08-21 12:40:07 -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
d0e20e44ff booyah
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
Nikolaj Bjorner
78a4717c06 fix #4359 and regression to #3270 2020-05-18 12:41:42 -07:00
Nikolaj Bjorner
4e51633e6f adding monomial bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-13 18:45:47 -07:00
Nikolaj Bjorner
33042268b5 bounds propagation functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-13 13:36:22 -07:00
Nikolaj Bjorner
bda29ca26a outline for monomial bound propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-13 10:37:46 -07:00
Nikolaj Bjorner
f76c6424f2 another memory managment leak fix. Relates to different leak exposed by #3997
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-19 12:58:42 -07:00
Nikolaj Bjorner
a9c4984a16 more seq overhaul
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-18 19:46:30 -07:00
Nikolaj Bjorner
76735476d4 fix #3999
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-18 19:46:30 -07:00
Nikolaj Bjorner
a7158772ad move to scoped intervals for memory management
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
b9f74db14c hook up pdd_grobner
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
c6ea5c2263 prepare to hook up pdd_grobner
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
1d217595c8 add pdd_interval to evaluate intervals of pdd expressions
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
fffd764226 fix a typedef
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
22bec010ba use dep_intervals inside of nla_intervals
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
7eb1affc7b after rebasing with Z3Prover
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
ccc9a77a1f Nikolaj's changes related to dependencies on infinite interval bounds
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
9fb66e9365 rename and add some interval methods
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
58003f9f97 hook up nla_solver it lp bound propagation
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Nikolaj Bjorner
49b6d5b6fb rm typedef
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-18 21:20:20 -08:00
Nikolaj Bjorner
036d5c02f4 add typedef
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-18 20:59:56 -08:00
Nikolaj Bjorner
a068ee9748 extract generic content from nla_intervals
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-18 20:33:48 -08:00
Nikolaj Bjorner
db274ebe01 relax condition for distributing extract over ite #2359
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-23 16:48:42 -07:00
Nikolaj Bjorner
e0d8cefde4 remove cooperate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-12 20:15:46 -07:00
Nikolaj Bjorner
28ce701e17 fixing 2267
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-05-06 15:31:55 +02:00
Nuno Lopes
912a729097 fix build of unit tests 2017-10-16 00:54:30 +01:00
Nikolaj Bjorner
b19f94ae5b make include paths uniformly use path relative to src. #534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 13:24:11 -07:00
Dan Liew
4b517b96df [CMake] Move CMake files into their intended location so the
`contrib/cmake/bootstrap.py` script no longer needs to be executed.

The previous location of the CMake files was a compromise proposed
by @agurfinkel in #461. While this has served us well (allowing progress
to be made) over time limitations of this approach have appeared.

The main problem is that doing many git operations (e.g. pull, rebase)
means the CMake files don't get updated unless the user remembers to
run the script. This can lead to broken and confusing build system
behaviour.

This commit only does the file moving and necessary changes to
`.gitignore`. Other changes will be done in subsequent commits.
2017-06-12 11:59:00 +01:00
Christoph M. Wintersteiger
4e37821dde "canceled" -> Z3_CANCELED_MSG
Relates to #431
2016-02-04 13:52:43 +00:00
Nikolaj Bjorner
96d1066c6a reworking cancellation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-11 16:43:48 -08:00
Nikolaj Bjorner
baee4225a7 reworking cancellation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-11 16:21:24 -08:00
Nikolaj Bjorner
4bc044c982 update header guards to be C++ style. Fixes issue #9
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-07-08 23:18:40 -07:00
Nikolaj Bjorner
c0895e5548 remove hassel table from unstable: does not compile under other plantforms
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-05-31 17:48:19 -07:00
Leonardo de Moura
77f58269ed Add html pretty printing mode for RCF package
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-27 10:19:54 -08:00
Leonardo de Moura
3c1f1a3b65 Fix bug in realclosure::compare function
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-06 21:50:36 -08:00
Leonardo de Moura
f1d47f35b2 Add refine interval infrastructure
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-06 18:30:41 -08:00
Leonardo de Moura
ecb58091f7 Add support for transcendental values such as pi and e, and the power operator
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-05 21:26:12 -08:00
Leonardo de Moura
edf62481e9 Add skeleton for the realclosure package
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-02 18:08:42 -08:00
Leonardo de Moura
1645f61d85 added READMEs
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-11-17 09:32:01 -08:00
Leonardo de Moura
81193fd550 add default template instance
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-31 11:16:43 -07:00
Leonardo de Moura
683687b153 more cleanup
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-31 10:54:59 -07:00