3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-17 02:30:01 +00:00
Commit graph

53 commits

Author SHA1 Message Date
Nikolaj Bjorner
1f150ecd52 #6319
#6319 - fix incompleteness in propagation of default to all array terms in the equivalence class.

Fix bug with q_mbi where domain restrictions are not using values because the current model does not evaluate certain bound variables to values. Set model completion when adding these bound variables to the model to ensure their values are not missed.

Add better propagation of diagnostics when tactics and the new solver return unknown. The reason for unknown can now be traced to what theory was culprit (currently no additional information)
2022-09-23 22:22:34 -05:00
Nikolaj Bjorner
a086f6218b na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-03 14:15:41 -08:00
Nikolaj Bjorner
8e3185ffe3 remove dual solver approach
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-03 14:08:01 -08:00
Nikolaj Bjorner
fc77345bec breaking change. Enforce append semantics everywhere for parameter updates #5744
Replace semantics doesn't work with assumptions made elsewhere in code.
The remedy is to apply append (override) semantics for parameter changes.
2021-12-30 19:11:14 -08:00
Nikolaj Bjorner
9f2b18cac5 add tactic name
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-07 13:37:57 -08:00
Jamey Sharp
426306376f
CNF conversion refactoring (#5547)
* split sat2goal out of goal2sat

These two classes need different things out of the sat::solver class,
and separating them makes it easier to fiddle with their dependencies
independently.

I also fiddled with some headers to make it possible to include
sat_solver_core.h instead of sat_solver.h.

* limit solver_core methods to those needed by goal2sat

And switch sat2goal and sat_tactic over to relying on the derived
sat::solver class instead. There were no other uses of solver_core.

I'm hoping this makes it feasible to reuse goal2sat's CNF conversion
from places like the tseitin-cnf tactic, so they can be unified into a
single implementation.
2021-09-20 08:53:10 -07:00
Nikolaj Bjorner
76427cd281 #5427 2021-07-22 11:33:47 -07:00
Nikolaj Bjorner
1fd6b66ecc #fix #5328
in-processing for "pure" PB constraints isn't model preserving and therefore removed.
2021-06-05 12:02:33 -07:00
Nikolaj Bjorner
4a6083836a call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
Nikolaj Bjorner
ab199dedf9 debug arith/mbi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-02 12:13:19 -08:00
Nikolaj Bjorner
d02b0cde7a
running updates to bv_solver (#4674)
* na

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>

* na

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>

* na

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

* na

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

* dbg

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

* bv

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

* drat and fresh

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

* move ackerman functionality

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

* na

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

* debugability

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

* towards debugability

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

* missing file

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 csp

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-07 20:35:32 -07:00
Nikolaj Bjorner
25106866b5 fix dotnet build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-30 14:46:31 -07:00
Nikolaj Bjorner
727ea43b16 remove lazy push from theory_lra
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-30 12:07:14 -07:00
Nikolaj Bjorner
ec3066c28a #4532 - arithmetic using SAT for interpreted atoms such as (< 0 0)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-08 11:43:32 -07:00
Jack Yao
55cd1e996c
add sat option for doing a global simplification before the bounded search and the main CDCL search loop. The option is also used for the sat-preprocess tacitc (#4514)
Co-authored-by: rainoftime <rainoftime@gmail.com>
2020-06-12 16:45:50 -07:00
Nikolaj Bjorner
16d34b9fcc fix #4100 2020-04-26 13:30:13 -07:00
Nikolaj Bjorner
b4e7730034 fix #3938
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-13 13:05:53 -07:00
Nikolaj Bjorner
e7ec842cf5 fix #3348
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-16 12:14:19 -07:00
Nikolaj Bjorner
78a1736bd2 prepare symbols to be more abstract, update mbi, delay initialize some modules
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-10 12:02:08 -08:00
Nikolaj Bjorner
4c799c144a fix gc to not remove ternary clauses that are on assignment trail. This addresses issue with drat proofs that don't pass drat-trim due to deletion during gc, but use in conflicts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-02-22 11:14:20 +01:00
Nikolaj Bjorner
3548057bd1 fix detection of arithmetic operations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-02-20 14:00:05 +01:00
Nikolaj Bjorner
d04e72819a abstract solver API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-02-06 19:42:01 +01:00
Nikolaj Bjorner
b11ec3bfbf merge sat_tactic from csp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-01-14 15:17:42 -08:00
Bruce Mitchener
3149d7f7a4 Fix typos. 2018-11-30 22:19:30 +07:00
Nikolaj Bjorner
cf4bf7b591 more consistent use of parallel mode when enabled, takes care of example test from #1898 that didn't trigger parallel mode
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-02 18:44:53 -05:00
Nikolaj Bjorner
859c68c2ac merge with opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-30 08:27:54 -07:00
Nikolaj Bjorner
a37303a045 move parallel-tactic to solver level
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-16 08:21:21 -07:00
Nikolaj Bjorner
c513f3ca09 merge with master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-25 14:57:01 -07:00
Bruce Mitchener
76eb7b9ede Use nullptr. 2018-02-12 14:05:55 +07:00
Bruce Mitchener
7167fda1dc Use override rather than virtual. 2018-02-10 09:56:33 +07:00
Nikolaj Bjorner
c199344bbf fix sat model converter to work with incrementality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-18 11:12:27 -08:00
Nikolaj Bjorner
2f218b0bdc remove also cores as arguments to tactics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-19 12:18:50 -08:00
Nikolaj Bjorner
4bbece6616 re-organize proof and model converters to be associated with goals instead of external
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-18 16:33:54 -08:00
Nikolaj Bjorner
df6b1a707e remove proof_converter from tactic application, removing nlsat_tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-17 23:32:29 -08:00
Nikolaj Bjorner
0d15b6abb7 add stubs for converting assertions, consolidate filter_model_converter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-17 14:51:13 -08:00
Nikolaj Bjorner
2746528aab fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-07 17:16:36 -08:00
Nikolaj Bjorner
ae9a6664d4 add cube mode
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-24 10:53:57 -07:00
Nikolaj Bjorner
2751cbc270 n/a
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-23 22:36:36 -05:00
Nikolaj Bjorner
651587ce01 merge with master branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-19 09:39:22 -07: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
Nikolaj Bjorner
61ade5e6cb tune cardinality solver for cache misses
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-06 20:57:08 -08:00
Nikolaj Bjorner
f61600d1d8 fixing unsat core extraction for tactics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-02 14:14:55 +00:00
Nikolaj Bjorner
305e080239 enable unsat core extraction in nlsat_tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-01 17:57:28 +01:00
Nikolaj Bjorner
2a051719d8 cleanup deprecated critical sections, fix cancellation for par_or_else tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-12 09:43:00 -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
9b3e242990 adding rlimit resource limit facility to provide platform and architecture independent method for canceling activities
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-09-28 13:37:59 -07:00
Nikolaj Bjorner
4f0de9a0cf implement user scopes for sat solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-07-30 09:27:03 -07:00
Nikolaj Bjorner
2b1af8fd50 updated sat solver for cores
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-07-29 14:38:17 -07:00
Nikolaj Bjorner
e98acf4ece working on adding basic cores to efficient SAT solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-07-29 07:22:59 -07:00
Christoph M. Wintersteiger
e8dde34353 removed unnecessary changes for bvsls
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2014-03-26 13:10:06 +00:00