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

15832 commits

Author SHA1 Message Date
Nikolaj Bjorner
a1ded7f1ec na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-06 18:53:05 -07:00
Nikolaj Bjorner
1d724de915 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-06 18:46:47 -07:00
Nikolaj Bjorner
5931e0d902 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-06 18:43:47 -07:00
Nikolaj Bjorner
59221f1d63 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-06 16:32:56 -07:00
Nikolaj Bjorner
cfd204e5fe na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-06 13:08:45 -07:00
Nikolaj Bjorner
253c954094 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-06 10:51:42 -07:00
Nikolaj Bjorner
bd5aa2ac21 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-06 09:26:08 -07:00
Nikolaj Bjorner
7e7360dd0c #5223 2021-05-05 17:40:42 -07:00
Nikolaj Bjorner
7e330c15e7 #5223 2021-05-05 16:57:06 -07:00
Nikolaj Bjorner
87c0a8136f #5223 2021-05-05 16:11:21 -07:00
Nikolaj Bjorner
2b1b10be69 fix #5236 2021-05-05 13:50:53 -07:00
Nikolaj Bjorner
85bd4b5242 #5223
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-05 13:10:53 -07:00
Lev Nachmanson
179988e161
support recursive terms (#5246)
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2021-05-05 12:53:20 -07:00
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