3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-15 13:28:47 +00:00
Commit graph

16311 commits

Author SHA1 Message Date
Nuno Lopes bd8c870bbe api: avoid some string copies when using mk_external_string 2024-12-28 09:42:54 +00:00
Nikolaj Bjorner 0b9ed925d6 try dual phase lookahead
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-27 13:34:48 -08:00
Nikolaj Bjorner 1f55ec5cef fix random update to a legal one
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-27 13:01:47 -08:00
Nikolaj Bjorner c82518ca36 include cmath to define std::pow
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-27 12:29:44 -08:00
Nikolaj Bjorner b0eee16109 fix double override bug in bv_lookahead, integrate with bv_eval 2024-12-27 12:26:18 -08:00
Clemens Eisenhofer 8de0005ab3
Bugfix seq-eq sls (#7495)
* Fixed spurious counterexamples in seq-sls. Updates might not be identity mapping

* Removed debug code

* One check was missing
2024-12-27 08:40:34 -08:00
Nikolaj Bjorner 5eb71c3be6 integrate lookahead v1 into repair loop
this ports some functionality from lookahead solver for qfbv-sls into sls-smt.
2024-12-26 17:49:30 -08:00
Nikolaj Bjorner c58171478f remove dead code 2024-12-26 13:48:55 -08:00
Nikolaj Bjorner d3a6521185 rely on is_sat fallback for failed repair-up, add separate file for WIP on lookahead. 2024-12-26 13:06:28 -08:00
Nikolaj Bjorner 13dcfd26dd remove debug out 2024-12-25 15:23:47 -08:00
Nikolaj Bjorner c9cae77304 update regex membership to be slightly better tuned 2024-12-25 10:56:16 -08:00
Nikolaj Bjorner f4ed432244 try a basic heuristic that finds some string that belongs to re. 2024-12-25 10:10:59 -08:00
Nikolaj Bjorner 09825edcd8 remove compute depth in favor of already existing get_depth 2024-12-23 18:49:54 -08:00
Nikolaj Bjorner e332904fb2 cosmetic updates 2024-12-23 18:49:38 -08:00
Nikolaj Bjorner 85d3041a80 avoid platform non-reproducibility due to argument evaluation ordering 2024-12-23 17:13:51 -08:00
Nikolaj Bjorner 23c4728d68 remove some platform specific behavior 2024-12-23 16:28:10 -08:00
Nikolaj Bjorner 554191885e remove platform dependent print 2024-12-23 16:13:36 -08:00
Nikolaj Bjorner 4f4cafbc98 start update with expr-inverter to handle PB 2024-12-22 18:17:42 -08:00
Nikolaj Bjorner b592ce4707 reserve space in heap to avoid debug check in elim_unconstrained 2024-12-22 18:17:40 -08:00
Nuno Lopes 97c70ba501 remove some uneeded constructors 2024-12-22 15:06:58 +00:00
Nikolaj Bjorner fb5bbb8074 read laziness parameter modulo relvancy to avoid race conditions with setting relevancy = 0 2024-12-22 14:07:29 +01:00
Nikolaj Bjorner a214dc32e8 add some comments, fix nyis 2024-12-22 13:52:19 +01:00
Nikolaj Bjorner 65b678dd42 use bail_out instead of early return to ensure marks are cleared 2024-12-22 06:14:38 +01:00
Nikolaj Bjorner 78ce6c1c6c revert relevancy override 2024-12-21 18:10:10 +01:00
Nikolaj Bjorner 3b2315d771 remove verbose output 2024-12-21 15:52:57 +01:00
Nikolaj Bjorner 578804acf4 fix #7460 2024-12-21 14:42:23 +01:00
Nikolaj Bjorner 2044fb460d fix #7490 2024-12-21 14:32:02 +01:00
Nikolaj Bjorner 8dec84110b add lia2card tactic as default #7483 2024-12-21 13:11:22 +01:00
Nikolaj Bjorner 07b1ee5dcc mask regression on fpa by not auto-setting relevancy=0 2024-12-21 12:41:04 +01:00
Nikolaj Bjorner da6a5facca revert change to setup_context that delays it until there are assertions 2024-12-21 11:53:46 +01:00
Nikolaj Bjorner db9f45dfec set relevancy = 0 in auto-config mode when there are bit-vectors and no quantifiers, #7484
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-20 18:10:46 +01:00
Nikolaj Bjorner 114cae50a5 update gcm script
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-20 17:27:21 +01:00
Nikolaj Bjorner 87f7a20e14 Add (updated and general) solve_for functionality for arithmetic, add congruence_explain to API to retrieve explanation for why two terms are congruent Tweak handling of smt.qi.max_instantations
Add API solve_for(vars).
It takes a list of variables and returns a triangular solved form for the variables.
Currently for arithmetic. The solved form is a list with elements of the form (var, term, guard).
Variables solved in the tail of the list do not occur before in the list.
For example it can return a solution [(x, z, True), (y, x + z, True)] because first x was solved to be z,
then y was solved to be x + z which is the same as 2z.

Add congruent_explain that retuns an explanation for congruent terms.
Terms congruent in the final state after calling SimpleSolver().check() can be queried for
an explanation, i.e., a list of literals that collectively entail the equality under congruence closure.
The literals are asserted in the final state of search.

Adjust smt_context cancellation for the smt.qi.max_instantiations parameter.
It gets checked when qi-queue elements are consumed.
Prior it was checked on insertion time, which didn't allow for processing as many
instantations as there were in the queue. Moreover, it would not cancel the solver.
So it would keep adding instantations to the queue when it was full / depleted the
configuration limit.
2024-12-19 23:27:57 +01:00
Nuno Lopes e4ab2944fe
Optimize expr_safe_replace for quantifiers when all source patterns are vars (#7481)
* Update expr_safe_replace.cpp

* Update expr_safe_replace.cpp

* Update expr_safe_replace.cpp
2024-12-19 23:05:13 +01:00
Nuno Lopes c33bc2c8be expr_abstract: save 1 hashtable lookup per app argument
when we already know that the app is missing one arg to rewrite
2024-12-18 09:50:50 +00:00
Nuno Lopes 2f5c0a6985 remove 2 unneeded lambda captures 2024-12-17 16:02:24 +00:00
Nuno Lopes 6f24123f0c reduce hash table lookups in expr_abstract in half 2024-12-16 11:00:55 +00:00
Nikolaj Bjorner b529a58b91 add unit test for incremental equation edit distance with repair 2024-12-15 05:53:28 -08:00
Nikolaj Bjorner 31ee56c1ca wip - incremental edit distance algorithm 2024-12-13 09:30:49 -08:00
Nikolaj Bjorner 538f74d64c extract stats with finalize for parallel mode 2024-12-13 09:30:49 -08:00
Oskar Haarklou Veileborg b4295620b3
Add __enter__ and __exit__ methods on Optimize class (#7477)
This enables the use of the with statement for the Optimize class to
concisely call push() and pop(). This works similarly to the Solver
class.
2024-12-13 09:19:04 -08:00
Nikolaj Bjorner 1e5c59a06f add repair step for str.replace 2024-12-12 09:15:36 -08:00
Nikolaj Bjorner e8c2360043 fix #7461
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-09 16:57:17 -08:00
Nikolaj Bjorner 8f5658b77d add another baseline heuristic for string equalities, add cases for array axioms.
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-09 15:55:19 -08:00
Kevin Gibbons e5f8327483
Update emscripten (#7473)
* fixes for newer emscripten thread handling behavior

* fix return type for async wrapper functions

* update prettier

* update typescript and fix errors

* update emscripten version in CI

* update js readme about tests
2024-12-06 18:11:14 -08:00
Nikolaj Bjorner 4fbf54afd0 fixes to regex membership and edit updates
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-06 09:50:30 -08:00
Nikolaj Bjorner 1ab0962d43 partial fix to make computed term integer well-formed for solve_for functionality 2024-12-05 17:10:52 -08:00
Nikolaj Bjorner bcb61ee12c v0 of edit distance repair 2024-12-05 14:14:27 -08:00
Yuantian Ding 4be4067f75
Typescript high-level api for Sets (#7471) 2024-12-05 07:00:11 -08:00
Nikolaj Bjorner a17d4e68eb bugfix to elim_uncnstr to ensure nodes are created. Prepare smt_internalizer to replay unit literals
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-04 15:32:15 -08:00
Nikolaj Bjorner aec867586a updates to equality solving search
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-02 13:41:18 -08:00
Nikolaj Bjorner e6feb8423a sls: fix bug where unsat remains empty after a literal is flipped. The new satisfiable subset should be checked
refined interface between solvers to expose fixed variables for tabu objectives
2024-12-01 18:35:56 -08:00
Nikolaj Bjorner 24c3cd38d1 add v0 of equality solver 2024-11-30 17:25:49 -08:00
Nikolaj Bjorner 05e053247d add facility to solve for a linear term over API 2024-11-30 09:34:27 -08:00
Nikolaj Bjorner d2411567b5 add projection with witnesses
expose model based projection with witness creation
2024-11-27 10:26:34 -08:00
Nikolaj Bjorner b7b611d84b inherit from std::exception
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-27 10:26:34 -08:00
Nuno Lopes ab1be5c06e internalize the reduce_args_tactic to reduce the number of heap allocations 2024-11-27 12:35:40 +00:00
Nuno Lopes 1ccfba6a91 remove unreachble code 2024-11-27 12:09:16 +00:00
Nikolaj Bjorner 1e62029413 use ztring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-25 17:36:42 -08:00
Nikolaj Bjorner fce377e1d7 add basic regex functions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-25 17:34:49 -08:00
Nikolaj Bjorner b143a954c5 add notes and additional functions to sls-seq
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-25 13:46:16 -08:00
Nikolaj Bjorner aed3279d7d add missing new_value_eh when repaired up
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-24 19:57:40 -08:00
Nikolaj Bjorner 1e839e5ac2 add missing new_value_eh when repaired up
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-24 19:42:13 -08:00
Nikolaj Bjorner 7ed185aa9e add comments
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-24 19:09:50 -08:00
Nikolaj Bjorner 4559b23caf add local search functionality to sls_seq_plugin
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-24 11:24:17 -08:00
Nikolaj Bjorner b4e768cfb0 adding plugin for local search strings 2024-11-22 13:56:03 -08:00
Nikolaj Bjorner 36725758eb fix typos POLING -> POLLING in setup.py and remove unused CFLAGS
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-21 11:32:38 -08:00
Nikolaj Bjorner 71bad7159b #7418 - circumvent use of timer threads to make WASM integration of z3 easier
The scoped_timer uses a std::therad. Spawning this thread fails in cases of WASM.
Instead of adapting builds and using async features at the level of WASM and the client, we expose a specialized version of z3 that doesn't use threads at all, neither for solvers nor for timers.
The tradeoff is that the periodic poll that checks for timeout directly queries the global clock each time.
We characterize it as based on polling.
2024-11-21 11:20:05 -08:00
Nikolaj Bjorner 8965123c0d fix type in setup.py
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-19 19:08:29 -08:00
Nikolaj Bjorner 10d9c81957 adapt for pyodide built
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-19 18:51:04 -08:00
Nikolaj Bjorner 012fc1b72b more detailed tracing of where unmaterialized exceptions happen
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-19 18:15:50 -08:00
Nikolaj Bjorner e855a50d9b add exception handling to easier diagnose #7418
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-19 11:46:54 -08:00
Nikolaj Bjorner 5168a13efa track exceptions in reason-unknown
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-19 09:29:23 -08:00
Nikolaj Bjorner 4b72e517b7 SLS: log clause , allow more frequent export of SLS state to SMT 2024-11-17 20:13:02 -08:00
Nikolaj Bjorner 84447b7031 remove incremental mode from EUF, include statistics about restart vs propagation calls to sls 2024-11-17 16:58:18 -08:00
Nikolaj Bjorner c7ea4964f2 bug fixes to sls 2024-11-17 13:07:38 -08:00
Nikolaj Bjorner 2310514e02 fix #7454 2024-11-16 18:20:06 -08:00
Nikolaj Bjorner 5fd1231ec0 incorporate ls during propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-16 15:28:28 -08:00
Nikolaj Bjorner 750dd68a14 enable par_then and par_or even if single threaded - fall back to sequential mode 2024-11-16 12:29:22 -08:00
Nikolaj Bjorner f64d077d2a fix re-entrancy bug during flip in arith_base 2024-11-16 12:29:03 -08:00
Nikolaj Bjorner b929996941 update to set single threaded
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-16 09:11:44 -08:00
Nikolaj Bjorner f39198d9a8 move build-env setting to correct place
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-16 08:32:47 -08:00
Nikolaj Bjorner 197951cad4 fixes to sls 2024-11-16 08:28:24 -08:00
Nikolaj Bjorner 7c5ff7c623 moving compile time flags to setup for pyodide 2024-11-16 08:28:24 -08:00
Nikolaj Bjorner ccbe6c33ae fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-15 09:29:30 -08:00
Nikolaj Bjorner ea590def47 remove breaking experiment
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-15 08:03:57 -08:00
Nikolaj Bjorner 1d8a904e99 build fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-14 22:10:59 -08:00
Nikolaj Bjorner 77eacef2ae build fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-14 22:08:13 -08:00
Nikolaj Bjorner 3f407982f3 build fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-14 21:55:44 -08:00
Nikolaj Bjorner 8e3b9f6686 add sequential option for SLS, fixes to import/export methods SLS<->SMT 2024-11-14 21:43:40 -08:00
Nikolaj Bjorner 6a9d5910cb add method for resetting limit 2024-11-14 21:43:40 -08:00
Nikolaj Bjorner 6eae3f0863 add cases for unconstrained sequences and strings 2024-11-14 21:43:40 -08:00
Nikolaj Bjorner 62db7642ec refine rewriting depth for lt constraints 2024-11-14 21:43:40 -08:00
Linus d3009dabfc
Proposed fix for #7451 (#7452) 2024-11-13 09:11:40 -08:00
Nikolaj Bjorner c0e748a51a fix #7446, by adding rewrite simplification
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-11 19:16:11 -08:00
Nikolaj Bjorner 1cc808c58d fix #7446, by adding rewrite simplification
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-11 19:08:11 -08:00
Nikolaj Bjorner 30ad22a4ef fix #7449 2024-11-11 15:45:18 -08:00
Nikolaj Bjorner 879bb4b1f0 avoid circular dependencies in justifications that get updated. fixes #7443 2024-11-10 19:35:01 -08:00
Nikolaj Bjorner 1856ab72d9 fix #7448 2024-11-10 14:40:28 -08:00
Nikolaj Bjorner 4f060dd2b1 fix #7445 2024-11-10 14:40:04 -08:00
Nikolaj Bjorner abd16740ce inherit more exceptions from std::exception
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-04 13:52:14 -08:00
Nikolaj Bjorner a38bf3e22f port to inherit from std::exception
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-04 13:25:14 -08:00
Nikolaj Bjorner 407bad3693 add noexcept
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-04 11:21:55 -08:00
Nikolaj Bjorner 42894f729a add noexcept for signature compatibility
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-04 11:13:49 -08:00
Audrey Dutcher 75e46778fa
Make build process work with pyodide (#7442) 2024-11-04 11:09:51 -08:00
Nikolaj Bjorner 92065462b4 use std::exception as base class to z3_exception
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-04 11:08:15 -08:00
Nikolaj Bjorner 1957b4d991 fix reporting on cancelation when based on cancel flag 2024-11-02 12:48:12 -07:00
Jonas Jongejan 604714ba40
js: Add pseudo-boolean high-level functions (#7426)
* js: Add pseudo-boolean high-level functions

* Add check for arg length
2024-11-02 12:34:15 -07:00
Nikolaj Bjorner 91dc02d862
Sls (#7439)
* reorg sls

* sls

* na

* split into base and plugin

* move sat_params to params directory, add op_def repair options

* move sat_ddfw to sls, initiate sls-bv-plugin

* porting bv-sls

* adding basic plugin

* na

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

* add sls-sms solver

* bv updates

* updated dependencies

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

* updated dependencies

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

* use portable ptr-initializer

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

* move definitions to cpp

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

* use template<> syntax

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

* fix compiler errors for gcc

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

* Bump docker/build-push-action from 6.0.0 to 6.1.0 (#7265)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.0.0...v6.1.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* set clean shutdown for local search and re-enable local search when it parallelizes with PB solver

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

* Bump docker/build-push-action from 6.1.0 to 6.2.0 (#7269)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.1.0...v6.2.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix a comment for Z3_solver_from_string (#7271)

Z3_solver_from_string accepts a string buffer with solver
assertions, not a string buffer with filename.

* trigger the build with a comment change

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* remove macro distinction #7270

* fix #7268

* kludge to address #7232, probably superseeded by planned revision to setup/pypi

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

* add new ema invariant (#7288)

* Bump docker/build-push-action from 6.2.0 to 6.3.0 (#7280)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.2.0 to 6.3.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.2.0...v6.3.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* merge

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

* fix unit test build

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

* remove shared attribute

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

* remove stale files

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

* fix build of unit test

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

* fixes and rename sls-cc to sls-euf-plugin

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

* na

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

* testing / debugging arithmetic

* updates to repair logic, mainly arithmetic

* fixes to sls

* evolve sls arith

* bugfixes in sls-arith

* fix typo

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

* bug fixes

* Update sls_test.cpp

* fixes

* fixes

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

* fix build

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

* refactor basic plugin and clause generation

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

* fixes to ite and other

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

* updates

* update

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

* fix division by 0

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

* disable fail restart

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

* disable tabu when using reset moves

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

* update sls_test

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

* add factoring

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

* fixes to semantics

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

* re-add tabu override

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

* generalize factoring

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

* fix bug

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

* remove restart

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

* disable tabu in fallback modes

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

* localize impact of factoring

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

* delay factoring

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

* flatten products

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

* perform lookahead update + nested mul

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

* disable nested mul

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

* disable nested mul, use non-lookahead

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

* make reset updates recursive

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

* include linear moves

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

* include 5% reset probability

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

* separate linear update

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

* separate linear update remove 20% threshold

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

* remove linear opt

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

* enable multiplier expansion, enable linear move

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

* use unit coefficients for muls

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

* disable non-tabu version of find_nl_moves

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

* remove coefficient from multiplication definition

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

* reorg monomials

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

* add smt params to path

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

* avoid negative reward

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

* use reward as proxy for score

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

* use reward as proxy for score

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

* use exponential decay with breaks

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

* use std::pow

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

* fixes to bv

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

* fixes to fixed

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

* fixup repairs

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

* reserve for multiplication

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

* fixing repair

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

* include bounds checks in set random

* na

* fixes to mul

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

* fix mul inverse

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

* fixes to handling signed operators

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

* logging and fixes

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

* gcm

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

* peli

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

* Add .env to gitignore to prevent environment files from being tracked

* Add m_num_pelis counter to stats in sls_context

* Remove m_num_pelis member from stats struct in sls_context

* Enhance bv_sls_eval with improved repair and logging, refine is_bv_predicate in sls_bv_plugin

* Remove verbose logging in register_term function of sls_basic_plugin and fix formatting in sls_context

* Rename source files for consistency in `src/ast/sls` directory

* Refactor bv_sls files to sls_bv with namespace and class name adjustments

* Remove typename from member declarations in bv_fixed class

* fixing conca

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

* Add initial implementation of bit-vector SLS evaluation module in bv_sls_eval.cpp

* Remove bv_sls_eval.cpp as part of code cleanup and refactoring

* Refactor alignment of member variables in bv_plugin of sls namespace

* Rename SLS engine related files to reflect their specific use for bit-vectors

* Refactor SLS engine and evaluator components for bit-vector specifics and adjust memory manager alignment

* Enhance bv_eval with use_current, lookahead strategies, and randomization improvements in SLS module

* Refactor verbose logging and fix logic in range adjustment functions in sls bv modules

* Remove commented verbose output in sls_bv_plugin.cpp during repair process

* Add early return after setting fixed subterms in sls_bv_fixed.cpp

* Remove redundant return statement in sls_bv_fixed.cpp

* fixes to new value propagation

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

* Refactor sls bv evaluation and fix logic checks for bit operations

* Add array plugin support and update bv_eval in ast_sls module

* Add array, model value, and user sort plugins to SLS module with enhancements in array propagation logic

* Refactor array_plugin in sls to improve handling of select expressions with multiple arguments

* Enhance array plugin with early termination and propagation verification, and improve euf and user sort plugins with propagation adjustments and debugging enhancements

* Add support for handling 'distinct' expressions in SLS context and user sort plugin

* Remove model value and user sort plugins from SLS theory

* replace user plugin by euf plugin

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

* remove extra file

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

* Refactor handling of term registration and enhance distinct handling in sls_euf_plugin

* Add TODO list for enhancements in sls_euf_plugin.cpp

* add incremental mode

* updated package

* fix sls build

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

* break sls build

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

* fix build

* break build again

* fix build

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

* fixes

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

* fixing incremental

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

* avoid units

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

* fixup handling of disequality propagation

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

* fx

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

* recover shift-weight loop

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

* alternate

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

* throttle save model

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

* allow for alternating

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

* fix test for new signature of flip

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

* bug fixes

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

* restore use of value_hash

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

* fixes

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

* adding dt plugin

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

* adt

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

* dt updates

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

* added cycle detection

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

* updated sls-datatype

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

* Refactor context management, improve datatype handling, and enhance logging in sls plugins.

* axiomatize dt

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

* add missing factory plugins to model

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

* fixup finite domain search

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

* fixup finite domain search

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

* fixes

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

* redo dfs

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

* fixing model construction for underspecified operators

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

* fixes to occurs check

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

* fixup interpretation building

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

* saturate worklist

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

* delay distinct axiom

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

* adding model-based sls for datatatypes

* update the interface in sls_solver to transfer phase between SAT and SLS

* add value transfer option

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

* rename aux functions

* Track shared variables using a unit set

* debugging parallel integration

* fix dirty flag setting

* update log level

* add plugin to smt_context, factor out sls_smt_plugin functionality.

* bug fixes

* fixes

* use common infrastructure for sls-smt

* fix build

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

* fix build

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

* remove declaration of context

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

* add virtual destructor

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

* build warnings

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

* reorder inclusion order to define smt_context before theory_sls

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

* change namespace for single threaded

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

* check delayed eqs before nla

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

* use independent completion flag for sls to avoid conflating with genuine cancelation

* validate sls-arith lemmas

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

* bugfixes

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

* add intblast to legacy SMT solver

* fixup model generation for theory_intblast

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

* na

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

* mk_value needs to accept more cases where integer expression doesn't evalate

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

* use th-axioms to track origins of assertions

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

* add missing operator handling for bitwise operators

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

* add missing operator handling for bitwise operators

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

* normalizing inequality

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

* add virtual destructor

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

* rework elim_unconstrained

* fix non-termination

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

* use glue as computed without adjustment

* update model generation to fix model bug

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

* fixes to model construction

* remove package and package lock

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

* fix build warning

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

* use original gai

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

---------

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sergey Bronnikov <estetus@gmail.com>
Co-authored-by: Lev Nachmanson <levnach@hotmail.com>
Co-authored-by: LiviaSun <33578456+ChuyueSun@users.noreply.github.com>
2024-11-02 12:32:48 -07:00
Nikolaj Bjorner ecdfab81a6 fix #7434
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-28 17:51:01 -07:00
Nikolaj Bjorner b0fef6429f
Add assert_and_track support to Optimize class in .NET binding (#7437)
Related to #7436

#7436

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/Z3Prover/z3/issues/7436?shareId=XXXX-XXXX-XXXX-XXXX).
2024-10-26 01:33:09 -07:00
Nikolaj Bjorner 8b657f27aa add shortcut to retrieve kind of application
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-22 13:05:58 -07:00
Nikolaj Bjorner 78d1139ba0 add shortcut to retrieve kind of application
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-22 13:04:41 -07:00
Nikolaj Bjorner 0ebea1c298 remove debug out
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-22 11:58:16 -07:00
Nikolaj Bjorner 253f7d7675 fix non-termination bug in elim-unconstrained, add parameter validation to fix #7432 2024-10-22 09:59:20 -07:00
Nikolaj Bjorner d18831c8d5 Update sat_ddfw.cpp 2024-10-22 09:59:20 -07:00
Jonas Jongejan 45ef6d0109
js: Adding manual release methods (#7428)
* js: Adding manual release methods

* Add unregister token

* Add pointer assertion

* Add missing line
2024-10-22 09:15:49 -07:00
Nikolaj Bjorner a23a8cdfc5 add variables from definitions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-16 19:08:33 -07:00
Nikolaj Bjorner 92376e67f2 better model replay for loose entries 2024-10-16 13:07:18 -07:00
Nikolaj Bjorner 5a5e39ae74 fix incrementality bug for pre-processing: replay has to be invoked on every push regardless. 2024-10-16 13:07:18 -07:00
stormckey 8ff4036f68
update unit_lim to the correct value (#7423)
Co-authored-by: stormckey <chenhaogao123@gmail.com>
2024-10-16 10:23:13 -07:00
stormckey 3896e18227
fix the code to cube at the correct frequency (#7422)
Co-authored-by: stormckey <chenhaogao123@gmail.com>
2024-10-15 08:56:35 -07:00
Nikolaj Bjorner 5993735b34 simplify string patterns into prefix/suffix constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-14 14:32:39 -07:00
Nikolaj Bjorner 3a8195b9c3 #7419
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-12 11:48:37 -07:00
Nikolaj Bjorner efde656036 fix recursive self call for slice_solver check-sat-cc method
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-10 16:38:00 -07:00
Nikolaj Bjorner 54d30f26f7 add _0 to platform tag for pypi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-10 15:52:10 -07:00
Nikolaj Bjorner 00f1f1b83d fix typo in setup.py
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-09 14:19:10 -07:00
Nikolaj Bjorner fe71b75ffd remove : from setup.py
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-09 13:21:27 -07:00
Nikolaj Bjorner 48aa2f6988 setup python dist to remove internal build suffix for macos 2024-10-09 12:47:17 -07:00
Nikolaj Bjorner da614c65e5 remove m_level attribute, use s->get_scope_level directly 2024-10-08 19:56:57 -07:00
Nikolaj Bjorner 6bd46b0922 fix #7363. Replay relevancy on unit literals that are re-asserted during backtracking.
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-08 19:40:37 -07:00
Nikolaj Bjorner cfd00ad672 add slice solver option to command context 2024-10-08 09:24:52 -07:00
Nikolaj Bjorner 8a95dd4d65 A slice solver option for interactive use case
A slice solver prunes the set of active assertions based on symbol occurrences in a goal that is tracked as a @query.
Ground assertions that have symbols intersecting with the query are included in the solver state, and quantifiers that with patterns that intersect with the slice are included. The slice is the fixedpoint of including symbols from all included assertions.
Enable the functionality for command-line use by setting solver.slice=true
2024-10-08 09:24:52 -07:00
Nikolaj Bjorner 0fec7efc7b micro-tuning 2024-10-08 09:24:52 -07:00
Nikolaj Bjorner c6cd25c822 mico-tuning 2024-10-08 09:24:52 -07:00
Nikolaj Bjorner 2ae4ac8d0a fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-04 08:38:52 -07:00
Nikolaj Bjorner b60e1a2ed2 fixup variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-03 20:06:45 -07:00
Nikolaj Bjorner 969511ac00 fixup std-order / inv-order
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-03 19:35:16 -07:00
Nikolaj Bjorner 66bb310966 reset before manager is deallocated
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-03 18:19:14 -07:00
Nikolaj Bjorner a98c925069 optimize var_subst 2024-10-03 18:14:47 -07:00
Nikolaj Bjorner e58eb9f302 fix indentation for mbp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-03 12:47:12 -07:00
Nuno Lopes 3586b613f7 remove default destructors 2024-10-02 22:20:12 +01:00
Nikolaj Bjorner b170f10148 reorder template definition
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-02 13:41:02 -07:00
Nikolaj Bjorner d686e92bfa disambiguate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-02 10:45:16 -07:00
Nikolaj Bjorner 93ff89bf98 add == for const_ref and ref to disambiguate equality. 2024-10-02 10:45:16 -07:00
Nikolaj Bjorner c7af97364a fixes for #7402
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-01 15:15:47 -07:00
Nikolaj Bjorner 328616b8b2 fix build warnings 2024-09-30 17:25:19 -07:00
Nikolaj Bjorner 8c39863019 fix typo in arch for setup.py
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-30 16:17:40 -07:00
Nikolaj Bjorner 4cefc513eb add sequoia to os versions #7407
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-30 16:05:53 -07:00
Nikolaj Bjorner 19f63cd6e3 add sequoia to os versions #7407
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-30 15:57:49 -07:00
Nikolaj Bjorner 86b97186b0 fix build warnings 2024-09-30 15:51:48 -07:00
Nikolaj Bjorner 551cc53a2f fix un-intialized variable warnings 2024-09-30 15:08:33 -07:00
Nikolaj Bjorner 2c94a3a1b3 fix build warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-30 13:09:01 -07:00
Nikolaj Bjorner 7da58b9e84 fix build warnings 2024-09-30 10:34:26 -07:00
Nikolaj Bjorner 5413018d86 Update euf_ac_plugin.cpp 2024-09-30 08:43:17 -07:00
Nikolaj Bjorner 826835fd7c fixes to build warnings 2024-09-30 08:23:31 -07:00
Nikolaj Bjorner 11bb19d99b make default tactic cases lazy 2024-09-27 15:11:43 +01:00
Nikolaj Bjorner 40b0210dda fixes to lazy tactic uses
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-27 14:33:09 +01:00
Nikolaj Bjorner 01cf0427b4 fix #7404, relates to #7400. 2024-09-27 11:36:10 +01:00
Nikolaj Bjorner d047b86439 pypi publish
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-26 21:35:28 +01:00
Nikolaj Bjorner f4452a0348 pypi publish
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-26 21:34:55 +01:00
Nikolaj Bjorner 3df7299d1e update signature of operator==
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-26 14:47:51 +01:00
Kevin Gibbons 77aa5280df
wasm: increase timeout in tests (#7401) 2024-09-25 18:33:14 +01:00
Kevin Gibbons 103c5ad71c
wasm: attempt to GC in tests (#7400) 2024-09-25 15:53:36 +01:00
Nikolaj Bjorner eb5d036786 fix #7392
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-25 10:21:54 +01:00
Nikolaj Bjorner 2655301afc comment out simple proofs unit test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-24 23:01:12 +01:00
Páll Haraldsson 994056f347
C API now used by Julia. (#7387)
See: https://github.com/ahumenberger/Z3.jl/releases/tag/v1.0.0
2024-09-24 15:17:00 +01:00
Nikolaj Bjorner 716a815ce1 update lock file
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-24 11:29:35 +01:00
Nikolaj Bjorner a831fe9609 fix some build warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-24 11:15:47 +01:00
Nikolaj Bjorner afaa48d72a sample fix script
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-23 19:06:51 +01:00
Lev Nachmanson fa1a2cdc1e disable simple check in nlsat
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-09-23 10:10:46 -07:00
Nikolaj Bjorner 0604d23c57 Check if model_converter is non-null before initializing values in sat_tactic 2024-09-23 13:50:32 +01:00
Nikolaj Bjorner 5a6dc18d0d Override convert_initialize_value method in bit_blaster_model_converter.cpp 2024-09-23 13:46:50 +01:00
Nikolaj Bjorner 5c583299f1 Remove unnecessary const qualifiers from comparison operator overloads in z3++.h 2024-09-23 13:38:07 +01:00
Nikolaj Bjorner eb8c63080a Refactor and fix uninitialized variables and improve function consistency across multiple modules 2024-09-23 13:34:33 +01:00
Nuno Lopes 499ed5d844 remove unneeded iterator functions 2024-09-23 12:59:04 +01:00
Nuno Lopes 737c2208fa delete more default constructors
reduces code size by 0.1%
2024-09-23 12:59:04 +01:00
Nikolaj Bjorner 4b4a28239f Add const qualifiers to comparison operators and update iterator equality checks in various classes 2024-09-23 11:45:11 +01:00
Nuno Lopes a62fede64b remove a few default constructors 2024-09-23 08:17:58 +01:00
Nuno Lopes 22d9bfad35 fix warning with iterators due to non-const comparator 2024-09-23 08:10:56 +01:00
Nikolaj Bjorner 1e580a7f12 update to c++20, remove debug output
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-22 21:30:44 +01:00
Nikolaj Bjorner 96c1375786 #7391
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-22 19:35:03 +01:00
Nikolaj Bjorner a9f8ec1bcb updated handling of value initialization for bit-vectors 2024-09-22 21:30:11 +03:00
Nikolaj Bjorner ba5cec7704 additional rewrites for bv2int 2024-09-22 21:29:12 +03:00
Nikolaj Bjorner fa7fc8ef5e Refactor bv_rewriter functions using unified variable assignment and early break logic 2024-09-22 13:04:49 +03:00
Nikolaj Bjorner d66609ea14 fix #7389
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-22 02:41:11 +03:00
Nikolaj Bjorner 0c48a50d59 Add support for initializing variable values in solver and optimize contexts in Z3 2024-09-20 18:28:26 +03:00
Lev Nachmanson 342dccdc02 correctly process cancellation in gomory cuts
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-09-19 14:11:27 -07:00
Nikolaj Bjorner b99c4a47a4 Add override specifiers to methods in set_initial_value_cmd class for clarity and consistency 2024-09-19 15:11:59 +03:00
Nikolaj Bjorner 8349ee0069 Add support for const array in all logics as per issue #7383 2024-09-19 11:44:18 +03:00
Nikolaj Bjorner 4896edfb04 Add tracking of values size in scoped_state push method in opt_context 2024-09-19 11:27:17 +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 1c163dbad2 remove output
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-18 16:41:00 +03:00
Nikolaj Bjorner 0f896503a9 Add initial value setting API for solver and optimize contexts and update related function signatures 2024-09-18 16:18:47 +03:00
Nikolaj Bjorner 48712b4f60 Add initial value setting for variables in Z3 API, solver, and optimize modules 2024-09-18 16:13:15 +03:00
Nikolaj Bjorner 0ba306e7b3 y 2024-09-17 12:27:13 +03:00
Nikolaj Bjorner 99a9a4af03 fix #7372
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-12 10:37:56 -07:00
Nikolaj Bjorner 1ace3d0cf3 fix #7372
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-12 10:37:56 -07:00
Nuno Lopes 8061765574 remove default destructors & some default constructors
Another ~700 KB reduction in binary size
2024-09-04 22:30:23 +01:00
Audrey Dutcher 0837e3b8e8
Fix nightly (#7365)
- add some logic to setup.py to handle cross platform tagging correctly
  this adds a dependency on setuptools>=70
- rearrange the nightly CI to use these new builds correctly
2024-09-03 16:11:42 -07:00
Nikolaj Bjorner 5237e7def2 Adjust memory reallocation to consider SIZE_T_ALIGN in memory_manager 2024-09-03 11:17:47 -07:00
Nikolaj Bjorner db4176adf4 #6902
See discussion under #6902.
Add genaiscript for commit messages for future use.
2024-09-02 17:01:35 -07:00
Nuno Lopes ef58376c14 replace a few old-school constructors for a 0.5% reduction in code size
don't waste those 128 KB!
2024-09-02 16:13:46 +01:00
Nikolaj Bjorner a3eb2ff58d revert update to vector for testing #6902
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-30 17:43:15 -07:00
Nikolaj Bjorner a1bcf136a6 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-30 17:34:54 -07:00
Nikolaj Bjorner 01a419546f #7362
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-30 14:35:37 -07:00
Nikolaj Bjorner 9a87bb1097 #7362
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-30 14:30:14 -07:00
Nikolaj Bjorner 5360656440 fix expected
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-28 09:40:57 -07:00
Audrey Dutcher e1f1d677ff
New python packaging and tests (#7356)
* Simplify/modernize python packaging

* Modify azure CI to utilize new python packaging
2024-08-27 17:12:31 -07:00
Nikolaj Bjorner 349ebd0a5b #7344 2024-08-26 14:22:28 -07:00
Nikolaj Bjorner 84da614de3 make gcc linting happy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-26 11:40:01 -07:00
Nikolaj Bjorner b84b4e7f9a fix attribute order
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-26 11:38:27 -07:00
Nikolaj Bjorner 49ba3bc12f address compiler warnings gcc-13
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-26 11:33:54 -07:00
Kirill A. Korinsky cff1e9233f
Avoid broken stack at few places (#7353)
* Avoid broken stack by degree_lit_num_lt

* Avoid broken stack by fix_dl_var_tactic

---------

Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-26 10:02:54 -07:00
Nikolaj Bjorner 6a68cc55bb #7353 - clear pointer when existing stack
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-26 09:59:56 -07:00
Zhang c1454dc31c
Fix building with Windows SDK and Clang-CL (#7337)
* Fix building with Windows SDK and Clang-CL

* Attempt to add Clang-CL to CI build configurations

* Fix typo

* Enable EHsc explicitly when using ClangCL due to it being default turned-off

* Override CMAKE_<LANG>_FLAGS instead due to Z3 resets the _INIT variants
2024-08-15 13:08:38 -07:00
Nikolaj Bjorner 656545564d fix #7343
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-14 09:17:05 -07:00
Nikolaj Bjorner ed17de56d2 fix #7343
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-14 08:51:24 -07:00
Lev Nachmanson bf34600f08 add release nodes and add the author reference in qfnra_tactic
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-08-12 08:49:55 -10:00
Lev Nachmanson f2d35ddc5e more cleanup 2024-08-12 08:32:01 -10:00
Lev Nachmanson 8999e1a340 use standard name conventions and add file headers
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-08-12 08:29:06 -10:00
Lev Nachmanson 33f0256e20 cleanup 2024-08-11 12:45:36 -10:00
Lev Nachmanson 752c999e0a cleanup
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-08-11 12:45:36 -10:00
Lev Nachmanson f81303f2f3 delete unused nlsat_symmetry_checker
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-08-11 12:45:36 -10:00
Lev Nachmanson f7905a5d69 remove printouts 2024-08-11 12:45:36 -10:00
Lev Nachmanson 518a8b2bdb fix the build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-08-11 12:45:36 -10:00
Lev Nachmanson 4b3a06a3c5 port hybridSMT
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-08-11 12:45:36 -10:00
Lev Nachmanson 1a5bddb4f0 port more from hybridSMT
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-08-11 12:45:36 -10:00
Lev Nachmanson 209366ba55 cleanup porting comments
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-08-11 12:45:36 -10:00
Lev Nachmanson 839594ac12 remove option look_for_0_witness
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-08-11 12:45:36 -10:00
Lev Nachmanson 0306eff692 port look for 0 witness
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-08-11 12:45:36 -10:00
Lev Nachmanson a09e412cf0 cleaning up
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-08-11 12:45:36 -10:00
Lev Nachmanson 6ce0fcd3ef port sample cell projection
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-08-11 12:45:36 -10:00
Nikolaj Bjorner 3e518b9e8b fix #7331 2024-08-06 03:54:25 -07:00
Nikolaj Bjorner 26b8d634a3 add max conflict throttle to SAT based QFNIA tactic #7329
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-03 11:34:28 -07:00
Nikolaj Bjorner 52f8eb21fb #7255 #7328
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-03 09:39:19 -07:00
Nikolaj Bjorner bc8fa67afc #7255 #7328
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-03 09:37:14 -07:00
Nikolaj Bjorner 51fcb10b2f shave some overhead from fingerprint hash function #7281 2024-08-02 20:04:50 -07:00
LiviaSun 7c30cbfe48
add scoped_vector invariants and unit tests (#7327)
* add scoped vector unit test

* fix dlist tests

* add new scoped vector invariants

* remove all loop invariants
2024-08-02 19:21:40 -07:00
LiviaSun d2fc085b8c
update heap unit tests (#7324)
* new heap invariants

* change ENSURE to SASSERT for unit test heap

* change SASSERT to VERIFY

* update heap tests

* update

* remove one invariant
2024-08-02 18:29:50 -07:00
LiviaSun fce4b36dad
add apply_permutation tests (#7322)
* add permutation unit tests

* update test

* update

* Update permutation.cpp

fix macos build

* add apply_permutation tests

* update test

* Update permutation.cpp

* fix permutation tests

---------

Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-02 18:29:33 -07:00
Nikolaj Bjorner ea9fa17f86 add static
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-02 11:38:03 -07:00
Nikolaj Bjorner 23e7dc0356 assert -> SASSERT
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-02 11:36:04 -07:00
LiviaSun fe594618e6
fix dlist tests (#7323) 2024-08-01 16:56:54 -07:00
LiviaSun 6ba25b888b
add permutation unit tests (#7300)
* add permutation unit tests

* update test

* update

* Update permutation.cpp

fix macos build

---------

Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-01 12:56:26 -07:00
Philip Zucker e7382d6ff9
Added "&lambda;" pretty printing to python (#7320) 2024-07-31 08:14:16 -07:00
Hari Govind V K 0c16d34eb0
fix #7292 (#7316) 2024-07-30 11:35:33 -07:00
Nikolaj Bjorner 5fcc50f606
Revert "add scoped vector unit test (#7307)" (#7317)
This reverts commit 2ae3d87b21.
2024-07-30 11:34:02 -07:00
LiviaSun 2ae3d87b21
add scoped vector unit test (#7307)
* add scoped vector unit test

* fix dlist tests

* add new scoped vector invariants
2024-07-29 11:08:54 -07:00
David Seifert 2ce89e5f49
Gcc 15 two phase (#7313)
* Fix `-Wclass-memaccess`

* Fix for GCC 15 two-phase lookup

* GCC 15 is more aggressive about checking dependent names:
  https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=r15-2117-g313afcfdabeab3

Bug: https://bugs.gentoo.org/936634
2024-07-29 11:07:10 -07:00
Nikolaj Bjorner 25e683e4e1 fix finalize method
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-07-28 19:10:30 -07:00
Nikolaj Bjorner ac7014a68b expose public
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-07-29 03:18:20 +02:00
Nikolaj Bjorner f94500c3ca fix #7309 2024-07-28 13:18:08 +02:00
Nikolaj Bjorner 5f6bb3db3e fix #7311
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-07-27 08:26:47 +02:00
Nikolaj Bjorner b535509cca remove crashing test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-07-22 08:43:22 -07:00
Nikolaj Bjorner 966c9a3764
Revert "new heap invariants (#7298)" (#7303)
This reverts commit 80ac7b3438.
2024-07-21 21:07:09 -07:00
LiviaSun 3d014f8b33
add new hashtable unit tests (#7297)
* add new hashtable unit tests

* add copyright

* use VERIFY instead of assert
2024-07-19 20:34:29 -07:00
LiviaSun 49dc1bb721
add new permutation class invariant (#7299)
* new heap invariants

* change ENSURE to SASSERT for unit test heap

* change SASSERT to VERIFY

* new permutation invariant

* remove heap changes

* use bool_vector
2024-07-19 19:27:23 -07:00
Nikolaj Bjorner 5003d41cdb
Revert "New invariant for dlist (#7294)" (#7301)
This reverts commit cf4d0e74a5.
2024-07-19 19:11:54 -07:00
LiviaSun 80ac7b3438
new heap invariants (#7298)
* new heap invariants

* change ENSURE to SASSERT for unit test heap

* change SASSERT to VERIFY
2024-07-19 14:03:21 -07:00
LiviaSun bc636d7ee0
new hashtable.h invariants (#7296)
* add copyright for dlist unit test

* new hashtable invariants

* add copyright
2024-07-19 14:01:42 -07:00
Nikolaj Bjorner 08b6338061 fix signature
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-07-18 10:19:57 -07:00
Nikolaj Bjorner 458d8b033a remove wsp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-07-18 10:11:15 -07:00
LiviaSun 9803e9ef6e
unit tests for dlist.h (#7293) 2024-07-18 10:08:41 -07:00
LiviaSun cf4d0e74a5
New invariant for dlist (#7294)
* unit tests for dlist.h

* new invariant for dlist: should be circular. avoid infinite loop

* remove dlist test commit

* format

* format

* Update dlist.h

---------

Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-07-18 10:06:58 -07:00
LiviaSun b0069010f8
add new ema invariant (#7288) 2024-07-15 13:07:12 -07:00
Nikolaj Bjorner 374609bd46 kludge to address #7232, probably superseeded by planned revision to setup/pypi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-07-08 16:54:09 -07:00
Nikolaj Bjorner af1f0e3184 fix #7268 2024-07-08 14:50:38 -07:00
Nikolaj Bjorner 6e069c1f41 remove macro distinction #7270 2024-07-08 13:56:34 -07:00
Lev Nachmanson 18b6087b72 trigger the build with a comment change
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-07-08 11:43:24 -07:00
Sergey Bronnikov 1da132005a
Fix a comment for Z3_solver_from_string (#7271)
Z3_solver_from_string accepts a string buffer with solver
assertions, not a string buffer with filename.
2024-07-02 07:09:33 -07:00
Nikolaj Bjorner 8de2544abb set clean shutdown for local search and re-enable local search when it parallelizes with PB solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-06-30 16:06:51 -07:00
Nikolaj Bjorner 8e482df62a fix #7264 2024-06-21 08:37:23 -07:00
Nikolaj Bjorner 3bf2b3f741 fix #7260
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-06-19 15:37:20 -07:00
dependabot[bot] 758d886fac
Bump braces from 3.0.2 to 3.0.3 in /src/api/js (#7261)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-19 15:29:38 -07:00
Lev Nachmanson bf3615d4fb fix lemma logging in nlsat
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-06-17 13:14:31 -07:00
Lev Nachmanson e4b3df2189 remove unused column_info.h
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-06-17 12:58:16 -07:00
Nikolaj Bjorner ef86f5fcc2 add partial evaluation cases for algebraic data-types for recursive functions. 2024-06-16 16:07:16 -07:00
Nikolaj Bjorner 81ebd52f61 #7207
the utility that computes case analysis is brittle when the body of a function contains ite expressions that are not relevant to recursive unfolding.
The fold-rec occurrences that get inserted to harness large case splits work against throttling case generation: they get treated as recursive functions that have to be guarded.
2024-06-16 15:04:42 -07:00
Nikolaj Bjorner 972d35204c reshuffle priorities on multiplication allow non-determinism. 2024-06-15 10:47:10 -07:00
Nikolaj Bjorner 01e47bfe26 fix #7245 2024-06-15 02:29:32 -07:00
Nikolaj Bjorner a6b502779b fix #7252
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-06-13 17:52:17 -07:00
Nikolaj Bjorner 35c1cacf44 fix #7248 2024-06-12 14:26:35 -07:00
Nikolaj Bjorner b831a589e5 fixes to #7250 2024-06-12 08:50:24 -07:00
Nikolaj Bjorner 49610f5159 fix #7246
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-06-06 08:11:19 +02:00
Nikolaj Bjorner 770c51ad2b add m_replay_qhead to the trail 2024-05-31 11:54:50 +04:00
Nikolaj Bjorner c0a7af4420 fix bugs with tracking premises in user propagator in sat/smt 2024-05-31 11:25:09 +04:00
Bruce Mitchener 904a50fe49
Fix compilation error in column_info (#7235)
Reference to `m_low_bound` should be `m_lower_bound`.
2024-05-27 09:19:29 +04:00
Jakob Rath e454ae275c
intblast: fix translation of sign_ext (#7230) 2024-05-18 19:01:35 -07:00
Nuno Lopes 18a95d89c6 fix assertion failure when printing stats
It would crash when number of bin_lemmas == 0
2024-05-18 16:30:26 +01:00
Nikolaj Bjorner cb50dcabda fix #7229 2024-05-17 18:28:08 -07:00
Nuno Lopes 552068a71e let the replayer stop when it encounters a C command with invalid args 2024-05-17 11:10:09 +01:00
Nikolaj Bjorner 8fe357f1f2
Nlsat simplify (#7227)
* dev branch for simplification

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

* bug fixes

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

* bugfixes

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

* fix factorization

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

* separate out simplification functionality

* reorder initialization

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

* reorder initialization

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

* Update README.md

* initial warppers for seq-map/seq-fold

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

* expose fold as well

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

* add C++ bindings for sequence operations

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

* add abs function to API

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

* add parameter validation to ternary and 4-ary functions for API #7219

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

* add pre-processing and reorder

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

* add pre-processing and reorder

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

---------

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-05-14 22:19:33 -07:00
Nikolaj Bjorner e036a5bd9b add parameter validation to ternary and 4-ary functions for API #7219
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-05-11 18:06:18 -07:00
Nikolaj Bjorner efc893263a add abs function to API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-05-09 20:54:39 -07:00
Nikolaj Bjorner b120745078 add C++ bindings for sequence operations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-05-09 20:20:05 -07:00
Nikolaj Bjorner c7529d0b25 expose fold as well
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-05-09 14:56:18 -07:00
Nikolaj Bjorner fc6c4c98e2 initial warppers for seq-map/seq-fold
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-05-09 14:52:49 -07:00
Nikolaj Bjorner 8f4ffc7caf add logging for first conflict
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-05-01 20:50:52 -07:00
Nikolaj Bjorner 2f02278227 add virtual destructor to z3::object class
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-05-01 16:35:25 -07:00