3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 00:55:31 +00:00
Commit graph

15469 commits

Author SHA1 Message Date
Murphy Berzish
466269ee13
theory_str iterator refactoring and dead code removal (#5222)
* z3str3: iterator refactoring

* z3str3: remove old nfa dead code

* z3str3: continued iterator refactoring

* z3str3: remove unroll dead code

* z3str3: ctx_dep_analysis iterator refactoring

* z3str3: continued iterator refactoring

* z3str3: final iterator refactoring
2021-05-05 10:06:03 -05:00
Nikolaj Bjorner
5ca8295dcc na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-04 12:05:44 -07:00
Nikolaj Bjorner
8cd1ddf445 add accounting for integrality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-04 11:57:25 -07:00
Jakob Rath
fd1758ffab
Polysat: check test results, forbidden intervals for coefficient -1 (#5241)
* Use scoped_ptr for condition

* Check solver result in unit tests

* Add test for unusual cjust

* Add solver::get_value

* Broken assertion

* Support forbidden interval for coefficient -1
2021-05-04 09:33:55 -07:00
Nikolaj Bjorner
5791b41133 more testing of fixplex
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-03 16:31:00 -07:00
Nikolaj Bjorner
dc879dc3fb merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-03 12:41:14 -07:00
Nikolaj Bjorner
0c6722f48b na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-03 11:47:00 -07:00
Nikolaj Bjorner
60cf482cea fix #5239
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-03 11:44:44 -07:00
Jakob Rath
f7e476a4a0
Polysat: fixes in solver, forbidden intervals for eq_constraint (#5240)
* Rename to neg_cond

* Add some logging utilities

* Implement case of forbidden interval covering the whole domain

* Implement diseq_narrow

* Do not activate constraint if we are in a conflict state

* comments

* Assert that lemma isn't undefined

* Update revert_decision to work in the case where narrowing causes propagation

* Fix case of non-disjunctive lemma from forbidden intervals

* Conflict should not leak outside user scope

* Add guard to decide(), some notes

* Add test case

* Add constraints to watchlist of unassigned variable during propagation

* Move common propagation functionality into base class

* Combine eq/diseq narrow

* Compute forbidden interval for equality constraints by considering them as p <=u 0 (or p >u 0 for disequalities)
2021-05-03 09:30:17 -07:00
Nikolaj Bjorner
2c97799564 #5237
be stingier on stack instead of punting and saying users can set ulimit
2021-05-02 16:18:55 -07:00
Nikolaj Bjorner
ff480d1183 fix #5238 2021-05-02 16:09:01 -07:00
Nikolaj Bjorner
04876ba8b7 n
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-02 10:51:33 -07:00
Nikolaj Bjorner
51a4db862a #5223 2021-05-02 10:40:22 -07:00
Nikolaj Bjorner
0810720267 #5223 2021-05-02 10:30:35 -07:00
Nikolaj Bjorner
323e0e6270 #5223 2021-05-01 16:43:54 -07:00
Nikolaj Bjorner
7835388361 #5223 2021-05-01 15:31:05 -07:00
Nikolaj Bjorner
6de0615779 #5223 2021-05-01 15:18:59 -07:00
Nikolaj Bjorner
6520f43f9d na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-01 14:43:58 -07:00
Nikolaj Bjorner
501dbd9475 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-01 14:26:22 -07:00
Nikolaj Bjorner
57a7bef96b na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-01 13:58:34 -07:00
Nikolaj Bjorner
20277f4a3f test 1
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-01 13:10:34 -07:00
Nikolaj Bjorner
aa3975ed87 fix #5235 2021-05-01 10:53:50 -07:00
Zachary Wimer
77dea18f54
Added missing fp conversion methods to C++ API (#5234) 2021-04-30 18:45:28 -07:00
Nikolaj Bjorner
82a364ed7b compile
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-30 17:53:09 -07:00
Jakob Rath
0c4824f194
Polysat: forbidden intervals updates (#5230)
* Pop assign_eh

* Fix scoped_ptr_vector constructors, add detach()

* Need to copy the returned lemma

* Add test

* Basic inequality tests

* Return disjunctive lemma to caller
2021-04-30 08:41:50 -07:00
Nikolaj Bjorner
d6e41de344 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-30 02:32:55 -07:00
Nikolaj Bjorner
c50e6bdbb1 fix #5229 2021-04-30 02:32:16 -07:00
Nikolaj Bjorner
381e502d30 fix #5224 2021-04-29 20:12:20 -07:00
Zachary Wimer
e4b660321f
Cpp api string const (#5228)
* string_const added

* typo fixed
2021-04-29 16:16:48 -07:00
Nikolaj Bjorner
decbf4be11 fix undo record for lblset
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-29 14:06:18 -07:00
Nikolaj Bjorner
a8ccbd7103 fix #5226 2021-04-29 13:36:25 -07:00
Nikolaj Bjorner
481d9ad14a na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-29 10:14:50 -07:00
Nikolaj Bjorner
6b2ce7fa65 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-29 10:13:25 -07:00
Jakob Rath
f83705bf9f
Polysat: first pass at forbidden intervals (not yet fully integrated into solver) (#5227)
* Add interval class

* Take dependency as const reference

* Compute forbidden intervals for ule-constraints

* Add class for evaluated interval

* We need the evaluated bounds as well

* Don't add constraint to cjust multiple times (hack, to be improved later)

* typo

* More interval helpers

* Add constraint::ult factory function

* Fix forbidden interval condition

* Add solver::has_viable

* Add conflict explanation using forbidden intervals (not yet fully integrated into solver)
2021-04-29 10:12:54 -07:00
Nikolaj Bjorner
622b2d3b39 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-29 10:12:33 -07:00
Nikolaj Bjorner
60972de562 use assert instead of explicit check
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-28 08:48:24 -07:00
Nikolaj Bjorner
efbb382646 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-27 22:52:59 -07:00
Nikolaj Bjorner
30e904bfa4 disable threads for extensions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-27 21:46:56 -07:00
Nikolaj Bjorner
007b792e0f #5215 2021-04-27 21:05:02 -07:00
Nikolaj Bjorner
5ecc32e731 #5215
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-27 20:46:25 -07:00
Nikolaj Bjorner
308f399224 #5215 converting NYI 2021-04-27 16:19:54 -07:00
Nikolaj Bjorner
89373d5bf9 #5215 2021-04-27 16:02:08 -07:00
Nikolaj Bjorner
4da4591fe7 #5215 2021-04-27 15:40:17 -07:00
Nikolaj Bjorner
e5892e5e97 #5215
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-27 15:26:56 -07:00
Nikolaj Bjorner
a71b4fab23 na 2021-04-27 09:31:04 -07:00
Nikolaj Bjorner
78571b9a51 fix #5219 2021-04-27 09:30:10 -07:00
Nikolaj Bjorner
d731ec7cba
Revert "Cpp api fp to bv (#5218)" (#5221)
This reverts commit fa2d593739.
2021-04-27 08:44:15 -07:00
Zachary Wimer
fa2d593739
Cpp api fp to bv (#5218)
* fpa_to_ubv and fpa_to_sbv added to C++ API

* Bug fix

* fpa_fp method added to API

* Adjust types to prefer sort over expr and bug fix
2021-04-26 17:00:05 -07:00
Nikolaj Bjorner
ecfbc1cc06 trace
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-26 15:15:27 -07:00
Nikolaj Bjorner
22a76e4985 fix typos in comments 2021-04-26 15:15:27 -07:00