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