3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-14 04:48:45 +00:00
Commit graph

55 commits

Author SHA1 Message Date
Nikolaj Bjorner a9f8ec1bcb updated handling of value initialization for bit-vectors 2024-09-22 21:30:11 +03:00
Nikolaj Bjorner a3f35b6830 Add command to set initial value hints for solver in various components 2024-09-18 17:48:03 +03:00
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