3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-17 16:52:15 +00:00
Commit graph

68 commits

Author SHA1 Message Date
Ilana Shapiro
435ea6ea99
fixed-size min-heap for tracking top-k literals (#7752)
* very basic setup

* ensure solve_eqs is fully disabled when smt.solve_eqs=false, #7743

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

* respect smt configuration parameter in elim_unconstrained simplifier

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

* indentation

* add bash files for test runs

* add option to selectively disable variable solving for only ground expressions

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

* remove verbose output

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

* fix #7745

axioms for len(substr(...)) escaped due to nested rewriting

* ensure atomic constraints are processed by arithmetic solver

* #7739 optimization

add simplification rule for at(x, offset) = ""

Introducing j just postpones some rewrites that prevent useful simplifications. Z3 already uses common sub-expressions.
The example highlights some opportunities for simplification, noteworthy at(..) = "".
The example is solved in both versions after adding this simplification.

* fix unsound len(substr) axiom

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

* FreshConst is_sort (#7748)

* #7750

add pre-processing simplification

* Add parameter validation for selected API functions

* updates to ac-plugin

fix incrementality bugs by allowing destructive updates during saturation at the cost of redoing saturation after a pop.

* enable passive, add check for bloom up-to-date

* add top-k fixed-sized min-heap priority queue for top scoring literals

---------

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Co-authored-by: humnrdble <83878671+humnrdble@users.noreply.github.com>
2025-07-28 19:54:01 -07:00
Nikolaj Bjorner
c387b20ac6 move smt params to params directory, update release.yml 2025-06-09 10:47:22 -07:00
Nuno Lopes
bd8c870bbe api: avoid some string copies when using mk_external_string 2024-12-28 09:42:54 +00:00
THE Spellchecker
dc0887db5a
Typo Fixes (#6803) 2023-07-09 11:56:10 -07:00
Facundo Domínguez
91cdc082c4
Optimize calls to Z3_eval_smtlib2_string (#6422)
* Allow reseting the stream of smt2::scanner

* Put the parser of parse_smt2_commands in the cmd_context

* Move parser streams to cmd_context

* Move parser fields from cmd_context to api::context

* Move forward declarations from cmd_context.h to api_context.h

* Change parse_smt2_commands_with_parser to use *& instead of **

* Add tests for Z3_eval_smtlib2_string

* Don't reuse the streams in Z3_eval_smtlib2_string

* Fix indentation

* Add back unnecessary deleted line

Co-authored-by: Nuno Lopes <nuno.lopes@tecnico.ulisboa.pt>
2022-10-28 13:57:22 -07:00
Bruce Mitchener
1eb84fe4b9
Mark override methods appropriately. (#6207) 2022-07-29 23:29:15 +02:00
Nuno Lopes
6e5ced0080 optimizations to api ctx ref counting 2022-07-17 11:44:35 +01:00
Nikolaj Bjorner
aefd336c18 set OCaml default behaivor to enable concurrent dec ref #6160
Add Z3_enable_concurrent_dec_ref to the API.
It is enables behavior of dec_ref functions that are exposed over the API to work with concurrent GC. The API calls to dec_ref are queued and processed in the main thread where context operations take place (in a way that is assumed thread safe as context operations are only allowed to be serialized on one thread at a time).
2022-07-16 16:49:39 -07:00
Nikolaj Bjorner
6688c1d62a prepare for #6160
The idea is to set _concurrent_dec_ref from the API
(function not yet provided externally, but you can experiment with it by setting the default of m_concurrent_dec_ref to true).
It then provides concurrency support for dec_ref operations.
2022-07-15 03:53:15 -07:00
Nikolaj Bjorner
41aa7d7b60 stack
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-02 09:00:51 -08:00
Nikolaj Bjorner
170ef1dcca add character sort to Python API and allchar function to API for ease. #5500 2021-08-23 20:02:50 -07:00
Nuno Lopes
49906a5a58 api_context: remove basic&arith fids fields
these are now constant,s o we can save some space
the remaining ones need to be made constant as well..
2021-04-13 17:42:42 +01:00
Nuno Lopes
afdf80509a remove api_context::m_search as it's always constant (false) 2021-04-13 17:32:17 +01:00
Nuno Lopes
853ce099ec api_context: consolidate ast trail vectors
a context never changes between user rc/non-user rc, so we can reuse the trail for both options
and save memory & smallish speedup
2021-04-13 17:21:42 +01:00
Nikolaj Bjorner
d03fdf5fed more descriptive naming convention 2021-03-15 15:48:33 -07:00
Nikolaj Bjorner
4b3fecc35e remove dependency on ast from params 2021-03-15 15:40:41 -07:00
Nikolaj Bjorner
b9cbb08858 shuffle dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-29 09:51:39 -07:00
Nuno Lopes
8fda4f904d API: dont deref already free'd memory on error 2020-06-30 15:04:40 +01:00
Nuno Lopes
64f1a759a7 inline api_context::reset_error_code() 2020-06-29 19:14:17 +01:00
Nikolaj Bjorner
f0689546f3 return non-escaped string value for Python #3080
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-26 09:16:23 -08:00
Nikolaj Bjorner
7e174f50c1 use Z3_char_ptr
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-10-08 09:14:10 -07:00
Nuno Lopes
a53ff6f21c turn locks into no-ops when compiled with -DSINGLE_THREAD 2019-06-05 12:11:27 +01:00
Nikolaj Bjorner
9262908ebb mux
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-05 09:06:17 +01:00
Nikolaj Bjorner
b2845d888e add get_lstring per #2286
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-05-22 18:32:57 +04:00
Nikolaj Bjorner
5536834019 add API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-03-28 07:04:21 -07:00
Nuno Lopes
cd4b53500c avoid a few str copies + symbol hiding 2019-03-08 10:13:46 +00:00
Nikolaj Bjorner
092c25d596 fix #2007
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-10 18:37:30 -08:00
Nikolaj Bjorner
0f0287d129 prepare release notes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-28 17:42:16 -05:00
Nikolaj Bjorner
51a0022450 add recfun to API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-27 11:41:18 -05:00
Nikolaj Bjorner
1eb8ccad59 overhaul of error messages. Add warning in dimacs conversion
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-04 16:04:37 -07:00
Nikolaj Bjorner
f525f43e43 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-30 09:30:43 -07:00
Nikolaj Bjorner
5dbba8bd53 fix #1599. fix #1600
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-27 17:48:04 +02:00
Nikolaj Bjorner
c513f3ca09 merge with master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-25 14:57:01 -07:00
Nikolaj Bjorner
966a8f73d3 add eval feature #1553
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-23 16:26:20 -07:00
Bruce Mitchener
ae8027e594 Fix typos. 2018-02-01 19:39:43 +07:00
Nikolaj Bjorner
482738bc8a avoid reset_error in dec_ref in bv_val #1443. Add BSD required template instance #1444
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-01-07 15:51:45 -08:00
Nikolaj Bjorner
89971e2a98 remove smtlib1 dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-28 10:37:30 -08: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
77aac8d96f fix handling of global parameters, exceptions when optimization call gets cancelled
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-21 17:04:10 -08:00
Nikolaj Bjorner
c5dd441947 fixes to consequence generation and cancellation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-09-07 11:50:26 -07:00
Christoph M. Wintersteiger
244c641234 debug check fix 2016-08-12 13:19:12 +01:00
Nikolaj Bjorner
b080e3a216 garbage collect all api::object references when calling del_context. Request issue #679
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-13 22:26:21 -07:00
Nuno Lopes
23cc8258fe remove m_ast_lim from API context since that one isn't used either
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2016-01-19 15:37:58 +00:00
Nuno Lopes
1f872e720d remove m_replay_stack from API context since it's never used
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2016-01-19 15:19:00 +00:00
Nikolaj Bjorner
e10ecad5dc seq API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-02 22:52:28 -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
665af3d8b9 remove deprecated user-theory plugins and other unused functionality from API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-11-20 08:43:27 -08:00
Nikolaj Bjorner
0f602d652a remove deprecated API functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-11-14 13:47:41 -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