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

16025 commits

Author SHA1 Message Date
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
Nikolaj Bjorner 19eb7225ea add virtual destructor to z3::object class
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-05-01 16:20:05 -07:00
Nikolaj Bjorner 231a985bf9 add virtual destructor to z3::object class
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-05-01 16:17:06 -07:00
Nikolaj Bjorner 04c55c34e5 fix unsoundness bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-05-01 14:45:15 -07:00
Nikolaj Bjorner 869643a551 fix memory leak 2024-05-01 10:07:37 -07:00
Nikolaj Bjorner 1ef4354080 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-04-30 17:52:00 -07:00
Nikolaj Bjorner aa1a596394 add doc-string 2024-04-30 17:05:40 -07:00
Nikolaj Bjorner 29e724f787 add gc to lemmas, convert bounds constraints to lemmas, add simplification pre-processing beyond equality extraction 2024-04-30 17:05:21 -07:00
Nikolaj Bjorner b0222cbdaa temper warning messages from uninitalized pointers 2024-04-30 17:00:49 -07:00
Nikolaj Bjorner 4c070f9e76 add extra fields to nlsat-clause 2024-04-30 17:00:05 -07:00
Nikolaj Bjorner 39dc8861ee expose comparisons with polynomials, incremental way to extract variables 2024-04-30 16:59:50 -07:00
Nikolaj Bjorner bc577b93ae refine precision before taking closest integral value. 2024-04-30 16:58:22 -07:00
Nikolaj Bjorner 2ad9f220f2 add logging 2024-04-30 16:57:59 -07:00
Nikolaj Bjorner bebcd94703 enable logging nla lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-04-25 10:29:34 -04:00
Nikolaj Bjorner 2a4f0e785b tidy 2024-04-20 18:04:10 -04:00
Nikolaj Bjorner cbef183ae5 type check equality injectivity axiom
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-04-20 14:57:04 -04:00
Nikolaj Bjorner e184a9a711 fix translation of bvudiv 2024-04-20 07:32:52 -04:00
Nikolaj Bjorner 0368b52716 add missing expr
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-04-17 15:16:11 +02:00
Nikolaj Bjorner 2682c2ef2b sls updates
- add SINGLE_THREAD mode
- add interface to retrieve "best" model so far
2024-04-13 16:42:26 +02:00
Nikolaj Bjorner 43dd6a5436 include mutex
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-04-11 18:19:58 +02:00
Nikolaj Bjorner c0bdc7cdd6 enable concurrent sls with new solver core
allow using sls engine (for bit-vectors) with the new core.

Examples

z3 sat.smt=true tactic.default_tactic=smt /v:1 smt.sls.enable=true smt.bv.solver=0 /st C:\QF_BV_SAT\bench_10.smt2
z3 sat.smt=true tactic.default_tactic=smt /v:1 smt.sls.enable=true smt.bv.solver=2 /st C:\QF_BV_SAT\bench_10.smt2
z3 C:\QF_BV_SAT\bench_11100.smt2 sat.smt=true tactic.default_tactic=smt /v:1 smt.sls.enable=true smt.bv.solver=2 /st
2024-04-11 10:49:30 +02:00
Nikolaj Bjorner 510534dbd4 cleanup 2024-04-10 19:09:30 -07:00
Nikolaj Bjorner 974ea7b68d maintain ownership of dependency 2024-04-10 17:57:14 -07:00
Nikolaj Bjorner 7b8980f82d fix regression introduced when testing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-04-09 11:17:03 -07:00
Nikolaj Bjorner 8d0e66b3e3 fix regression introduced when testing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-04-09 11:16:34 -07:00
Nikolaj Bjorner 9a681b1a37 reorg sls
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-04-09 10:44:53 -07:00
Nikolaj Bjorner bab7ca2b70 fixes to bv-sls 2024-04-07 14:24:13 -07:00
Nikolaj Bjorner d7c0e17f96 fixes to tighten-range 2024-04-02 21:12:09 -07:00
Nikolaj Bjorner 2ce202db75 add special handling of lshr, ashr 2024-04-02 21:09:18 -07:00
Nuno Lopes 918ac2b176 fix #7196: make the code C++23 compatible
Nikolaj is now more bleeding edge than I am...
I must be getting old? (˘・_・˘)
2024-04-01 17:25:50 +01:00
Nikolaj Bjorner 84092cbd96 add engine-init to control model transfer
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-30 15:12:32 -07:00
Nikolaj Bjorner 51f1e2655c updates to sls
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-30 12:59:05 -07:00
Steven Moy 111fcb9366
Implement API to set exit action to exception (#7192)
* Implement API to set exit action to exception

* Turn on exit_action_to_throw_exception upon API context creation
2024-03-27 19:06:58 -07:00
Nikolaj Bjorner c18a42cf5b change signed projection to include root object. 2024-03-23 16:14:24 -04:00
Nikolaj Bjorner 6455de9dd3 fix #7179
Ensure that flat associative rewriting is disabled if rewriter.flat is set to false.
2024-03-21 09:39:13 -07:00
Nikolaj Bjorner 530c6fc625 fix ##7175 - don't add user macros/functions when smtlib2_compliant=true
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-20 22:05:30 -07:00
Nikolaj Bjorner f840d5d965 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-20 21:29:13 -07:00
Nikolaj Bjorner 70d2263a85 cast, updated nlexplain 2024-03-20 21:29:08 -07:00
Lev Nachmanson 730f9ad9b7 Nikolaj's fix in add_zero_assumption
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-03-20 09:39:20 -10:00
向阳 a9054bc73b
fix warning C4244 in util.h (#7171)
Add a static cast to avoid warning C4244 on MSVC
2024-03-20 09:31:23 +00:00
cctv130 18365907a2
Update util.h (#7169) 2024-03-17 20:29:27 -07:00
Nikolaj Bjorner b8a69987c3 fix #7165 2024-03-17 16:33:40 -07:00
Jakob Rath 5704e8d154
fix intblast is_bounded (#7163) 2024-03-14 08:48:38 -07:00
Nikolaj Bjorner 0b3bbc2972 #7158
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-11 18:19:43 -07:00
someplaceguy 7bbe3fb2b6
fix (get-proof) command to respect option pp.simplify_implies (#7157) 2024-03-09 15:13:42 -08:00
Nikolaj Bjorner 361e04a18e port fixes to intblast
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-09 10:27:12 -08:00
Nikolaj Bjorner dcaacf5e9b add rewrite glue for instantiating equalities, #7154
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-07 15:21:26 -08:00
Nikolaj Bjorner 620efbb67b add aacrhc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-06 13:53:47 -08:00
Steven Moy e8c8d8aa7d
Put in workaround to rename manylinux_arm64 to manylinux_aarch64 (#7149) 2024-03-05 13:38:12 -08:00
Nikolaj Bjorner d6f522e205 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:31 -08:00
Nikolaj Bjorner 531bda39ac fix alias bug 2024-03-05 12:28:31 -08:00
Nikolaj Bjorner 657aaf9a0f na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:31 -08:00
Nikolaj Bjorner 8679c08010 fix test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:31 -08:00
Nikolaj Bjorner 22616da63b updates 2024-03-05 12:28:31 -08:00
Nikolaj Bjorner 5be8872d6a na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:31 -08:00
Nikolaj Bjorner dfd5c27fec na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:31 -08:00
Nikolaj Bjorner 803f0f0c65 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:31 -08:00
Nikolaj Bjorner 5455603910 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:31 -08:00
Nikolaj Bjorner 9888d87294 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:31 -08:00
Nikolaj Bjorner f46c3782d6 bugfixes 2024-03-05 12:28:31 -08:00
Nikolaj Bjorner d774f07eb3 add eval field to sls-valuation to track temporary values. 2024-03-05 12:28:31 -08:00
Nikolaj Bjorner 8f139e862c updates to multiplication 2024-03-05 12:28:31 -08:00
Nikolaj Bjorner 2590d672f4 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:31 -08:00
Nikolaj Bjorner 58474df438 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:31 -08:00
Nikolaj Bjorner 0e5b504c30 remove bw setting 2024-03-05 12:28:30 -08:00
Nikolaj Bjorner a328366c7d move to single path mode for search
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner 8f85df05ed fb
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner c451e4e50b na 2024-03-05 12:28:30 -08:00
Nikolaj Bjorner 63804c5296 na 2024-03-05 12:28:30 -08:00
Nikolaj Bjorner 74e73f2b84 reorg to use datatypes 2024-03-05 12:28:30 -08:00
Nikolaj Bjorner 48026edd7f move to hide bits
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner acc9c21653 move to hide bits
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner cfa6bd4534 update python build dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner 5379fabf9d include thread
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner b14499f230 prepare for sls experiment
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner cf72a916f8 bugfixes, adding plugin solver 2024-03-05 12:28:30 -08:00
Nikolaj Bjorner 659e384ee7 bugfixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner cd6382f1c8 fix alias bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner 9cde4f7e05 bugfixes 2024-03-05 12:28:30 -08:00
Nikolaj Bjorner d7e419b7ed fixes and checks
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner ab0459e5aa bugfixes 2024-03-05 12:28:30 -08:00
Nikolaj Bjorner 7dc4ce8259 use tuned gcd to compute mult inverse 2024-03-05 12:28:30 -08:00
Nikolaj Bjorner 4391c90960 na 2024-03-05 12:28:30 -08:00
Nikolaj Bjorner 991537836b fixes based on unit tests 2024-03-05 12:28:30 -08:00
Nikolaj Bjorner 046db662f9 na 2024-03-05 12:28:30 -08:00
Nikolaj Bjorner 388b2f5eec n/a 2024-03-05 12:28:30 -08:00
Nikolaj Bjorner ddf2d28350 add tests for evaluation 2024-03-05 12:28:30 -08:00
Nikolaj Bjorner 1cf008dd0a updates 2024-03-05 12:28:29 -08:00
Nikolaj Bjorner bd323d6fab save 2024-03-05 12:28:29 -08:00
Nikolaj Bjorner f39756c74b initial stab at new bv-sls based on repair actions 2024-03-05 12:28:29 -08:00
Nikolaj Bjorner 10687082f1
Revert "For many linux build, use aarch64 instead of arm64 (#7147)" (#7148)
This reverts commit 7694bca5f4.
2024-03-05 12:25:31 -08:00
Steven Moy 7694bca5f4
For many linux build, use aarch64 instead of arm64 (#7147) 2024-03-05 11:27:43 -08:00
Nikolaj Bjorner 77a07bb791 detect arm64 for manylinux setup
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-04 21:14:19 -08:00
Nuno Lopes 57c20be6eb fix #7143: type punning in test 2024-03-04 14:34:02 +00:00
zapashcanon 91886dafca
some code cleaning and complexity improvements (#7133)
* do not use `and` for non mutually recursive types

* use List.init, fix complexity of a few operations and make some code
more readable

* explicit some parameters to make working without LSP/Merlin easier

* use fold_left instead of filteri because it is not available on old
OCaml versions
2024-02-29 08:54:53 -08:00
Bruce Mitchener 143a35d370
Fix typos. (#7137) 2024-02-22 09:35:15 -08:00
Nikolaj Bjorner 79b7d8a9e2 throttle squash-store #7134
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-21 10:00:11 -08:00
Thomas Haas a3d00ce356
Improved Java phantom references (#7131)
* Reworked phantom reference handling.
 - Replaced IDecRefQueue with a new Z3ReferenceQueue class
 - Z3ReferenceQueue manages custom subclasses of phantom references in a doubly-linked list
 - Replaced all subclasses of IDecRefQueue with subclasses of Z3ReferenceQueue.Reference. These custom reference classes are embedded in the class they reference count.
 - Context now owns a single Z3ReferenceQueue for all types of references.

* Made Statistics.Entry a static subclass

* Made Context.close idempotent (as recommended)

* Update CMakeLists.txt for building the Java API.

* Updated CMakeLists.txt again.

* Use correct SuppressWarning annotation to silence the compiler

* Formatting
2024-02-21 08:39:58 -08:00
Cal Jacobson 199ef30e0c
conditionally depend on importlib_resources (#7116)
In python >= 3.9, it's available as part of the stdlib.
2024-02-18 12:20:24 +07:00
Nikolaj Bjorner 84d592c1f2 fix #7121
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-16 09:59:57 +07:00
Nikolaj Bjorner 2b14793213 #7117
probably overflow of unsigned for large capacity
2024-02-14 17:08:09 +07:00
Bruce Mitchener 155dfb10c4
Fix some typos in identifiers. (#7118) 2024-02-14 09:25:32 +07:00
Lev Nachmanson 4d06c399cc replace DEBUG_CODE by #ifdef Z3DEBUG in nlsat
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-02-13 10:51:44 -10:00
Nikolaj Bjorner f1d97c7a3a allow callbacks to be nested 2024-02-13 20:30:17 +07:00
Bruce Mitchener 53f89a81c1
Fix some typos. (#7115) 2024-02-07 23:06:43 -08:00
Nikolaj Bjorner c40e72aaa3 include debug output 2024-02-05 15:31:33 -08:00
Nikolaj Bjorner f4eaa6fc98 improve logging
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-05 14:41:29 -08:00
Nikolaj Bjorner 683070a175 finish encoding of n'th root
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-05 10:44:41 -08:00
Nikolaj Bjorner 8555f25587 add todo note, and log more lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-04 21:08:04 -08:00
Nikolaj Bjorner d743e1b47c add note that the encoding is a first approximation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-04 19:11:35 -08:00
Nikolaj Bjorner b9528b1c56 update self-validator to handle root expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-04 19:06:30 -08:00
Nikolaj Bjorner 7970e4fe51 add clause persistence to sat/smt solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-04 16:42:10 -08:00
Nikolaj Bjorner 3cec3fc63d bypass replaying new clause within propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-04 15:26:17 -08:00
Nikolaj Bjorner 3b90816025 add option to persist clauses #7109
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-04 11:15:59 -08:00
Nikolaj Bjorner bc70282a18 mute some compiler warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-03 15:42:06 -08:00
Nikolaj Bjorner 9425c419ad port remaining egraph update
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-03 15:38:05 -08:00
Nikolaj Bjorner a5a819c291 port updates to egraph from poly
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-03 12:48:58 -08:00
Yisu Remy Wang 2280e9562a
Improve instructions for working with the Julia API (#7108) 2024-02-02 09:46:31 -08:00
Nikolaj Bjorner 5cac9b84e4 fix build warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-01 09:36:52 -08:00
Nikolaj Bjorner e820701f9d fix #7107
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-31 15:38:10 -08:00
Nikolaj Bjorner 738c5b6d0d add warning messages for #7100 2024-01-30 21:30:37 -08:00
Nikolaj Bjorner 50deece29e fix #7098 2024-01-30 20:38:01 -08:00
Nikolaj Bjorner 28c44a6ed0 fix #7105
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-30 15:41:14 -08:00
Nikolaj Bjorner 908aaa06f7 fix #7101 2024-01-29 12:26:51 -08:00
Nikolaj Bjorner 2b683941b7 fix #7103 2024-01-27 17:46:23 -08:00
Nikolaj Bjorner f8a3b6f521 fix #7102 2024-01-27 17:05:55 -08:00
Nikolaj Bjorner 2af1cff11f updating java cmake scrip
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-27 16:29:19 -08:00
Yisu Remy Wang dec5715f03
Expose forall and exists to Julia (#7099) 2024-01-25 09:49:01 -08:00
Nikolaj Bjorner bdb9106f99
Api (#7097)
* rename ul_pair to column

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

* t

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

* simple test passed

* remove an assert

* relax an assertion

* remove an obsolete function

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

* access a term by the term column

* remove the column index from colunm.h

* remove an unused method

* remove debug code

* fix the build of lp_tst

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

---------

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
Co-authored-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-24 16:05:18 -08:00
Nikolaj Bjorner 1b94d43a8b fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-24 08:52:56 -08:00
Nikolaj Bjorner fad428381a prepare for integer intervals 2024-01-23 15:33:48 -08:00
Nikolaj Bjorner 98c9fa7faf prepare for handling integer intervals 2024-01-23 15:29:11 -08:00
Nikolaj Bjorner 36453c5949 use while (true) in do loops with continue
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-23 14:56:57 -08:00
Nikolaj Bjorner be7856c57d fix #7027
TODO: review old nlsat bugs for effect of this fix.
2024-01-23 14:56:15 -08:00
Nikolaj Bjorner 125a82bea5 improved diagnostics 2024-01-22 16:23:55 -08:00
Nikolaj Bjorner 8d4e7fac6b add diagnostics option to new arithmetic solver 2024-01-22 16:23:55 -08:00
Nikolaj Bjorner 839b7101ae add ability to multiply term 2024-01-22 15:48:45 -08:00
Nikolaj Bjorner 0ebd8d655b prepare for printing more cases of root objects in SMT 2024-01-22 15:48:45 -08:00
Nikolaj Bjorner 69f118e77f use assignment
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-22 15:48:45 -08:00
Nikolaj Bjorner 7486e8724f track quantifier instantiation method in proof hint #7080
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-20 17:44:07 -08:00
Nikolaj Bjorner 910b3023c2 free memory the clean way
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-20 14:01:01 -08:00
Nikolaj Bjorner d32dcfc4a4 free memory the clean way
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-20 13:54:50 -08:00
Nikolaj Bjorner 17545233e6 encapsulate anum functionality 2024-01-20 12:59:58 -08:00
Nikolaj Bjorner 548be4c1f9 add explicit move constructor to deal with unit test regression test-z3 algebraic on Windows/debug -
it uses copy constructor instead of move when returning a scoped_anum in functions such as power and root.
This leads to freeing memory that gets passed as return value.

The copy constructor for scoped_numeral is also suspicious because it doesn't ensure memory ownership.
2024-01-20 12:59:58 -08:00
Nikolaj Bjorner a2993f7457 encapsulate mpz a bit more 2024-01-20 12:59:58 -08:00
Thomas Haas d2706bab64
Fixes in Java's User Propagator (#7088)
* Fixed decide callback for Java user propagators

* Java User Prop:
- Added return value to conflict
- Added consequence method
- Added missing access modifier to decideWrapper

* Removed type parameters of expressions in UserPropagatorBase

* Renamed propagateConflict to propagateConsequence
2024-01-18 09:29:15 -08:00
Nikolaj Bjorner 2c55aa5466 remove unused code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-17 18:04:08 -08:00
Lev Nachmanson d084a19630 take care of strategy undecided, Nikolaj's comments
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-17 14:17:07 -10:00
Lev Nachmanson 6e9a938533 Merge branch 'master' of https://github.com/z3prover/z3 2024-01-17 14:02:38 -10:00
Lev Nachmanson c591a7a3e7 force int bound on int columns, call term_is_int() after subst
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-17 13:53:59 -10:00
Nikolaj Bjorner fef1596c81 pin expression passed to validate_eq
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-17 15:11:06 -08:00
Nikolaj Bjorner 4f75153186
Update z3_api.h
Updated doc https://github.com/Z3Prover/z3/discussions/7087
2024-01-17 13:53:38 -08:00
Nikolaj Bjorner c340233df6 fix #7081
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-16 10:31:31 -08:00
Nikolaj Bjorner afba43a5a7 fix #7085
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-16 10:18:46 -08:00
Nikolaj Bjorner 4ff352fcac fix #7084
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-15 08:49:14 -08:00
Lev Nachmanson 91ca55e5ad change the definition of Gomory row
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-14 13:37:30 -10:00
Lev Nachmanson d8df203622 remove an unused declaration
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-13 19:11:17 -10:00
Lev Nachmanson e2fb4fbd38 fix dependencies for Gomory polarity
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-13 19:01:21 -10:00
Lev Nachmanson 2eadcf0872 avoid duplicate explanations
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-12 15:49:21 -10:00
Lev Nachmanson 7d7fef061f add explanations and fix polarity
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-12 15:28:16 -10:00
Nikolaj Bjorner ddf2eb57d6 deleted parameter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-12 10:42:08 -08:00
Nikolaj Bjorner 3381fd2b52 spell check from https://github.com/microsoft/z3guide/pull/165
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-12 09:57:46 -08:00
Nikolaj Bjorner 27171591d1
Update sat_params.pyg
spellcheck from https://github.com/microsoft/z3guide/pull/165
2024-01-12 09:49:56 -08:00
Nikolaj Bjorner 59b18d4a14 create as_bin as_hex wrappers for display
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-12 09:19:22 -08:00
Lev Nachmanson 999e67df0d address Nikolaj's comments in Gomory cut
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-11 16:49:10 -10:00
Lev Nachmanson 2d24436582 remove a blank line
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-11 13:42:35 -10:00
Lev Nachmanson 2b974a0f1d do not delay update for the polar case
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-11 13:39:37 -10:00
Lev Nachmanson 2ac866a8d0 take the coefficient from cut_result, not lia
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-11 12:10:37 -10:00
Nikolaj Bjorner 955c80e98b import updates from poly branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-10 19:42:58 -08:00
Lev Nachmanson 2ca1187b3a fix a bug in polarity
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-10 10:50:56 -10:00
Nikolaj Bjorner 75005d9077 add validation option for debugging regressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-09 09:18:29 -08:00
Lev Nachmanson 2934618c50 remove simplify_inequality from gomory.cpp 2024-01-04 11:40:57 -10:00
Nikolaj Bjorner 696b70fddb fix
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-04 11:00:07 -08:00
Lev Nachmanson 239d68ed9c return conflict on an empty term in Gomory cuts 2024-01-03 18:56:35 -10:00
Nikolaj Bjorner b75367ffc7 port improvements to arith rewriter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-03 13:57:09 -08:00
Nikolaj Bjorner a7bfdcd0ea readd big cuts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-02 11:17:59 -08:00
Lev Nachmanson 84997f8b21 move a TRACE statement 2024-01-01 05:25:07 -10:00
Lev Nachmanson fd2b6c62d1 bug fix in gomory polarity
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-01 05:25:07 -10:00
Bruce Mitchener d66df2616f
Fix some typos. (#7075) 2023-12-29 15:20:06 +00:00
Jakob Rath ec2b8eb4ca
Merge shared parts from polysat branch (#7063)
* sat_literal: make constants constexpr

* dlist: rename elem -> list

* tbv: use get_bit

* additional pdd and rational tests

* egraph: callback setters take functions by value

This allows to set callbacks without defining a separate variable for
the callback lambda.

(previous usage does one copy of the function, exactly as before)

* cmake: enable compiler error when non-void function does not return value
2023-12-28 11:11:53 -08:00
Lev Nachmanson 53c95e3627 cleanup 2023-12-28 06:00:57 -10:00
Lev Nachmanson 0728b81e9e add parameter lp_settings.m_gomory_simplify 2023-12-28 06:00:57 -10:00
Lev Nachmanson 5796e8899f use vector instead of unordered_map in gomory
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-12-28 06:00:57 -10:00
Lev Nachmanson a3529a0046 create bounds for gomory cuts with big numbers 2023-12-28 06:00:57 -10:00
Lev Nachmanson af7691224e adding the polarity bound 2023-12-28 06:00:57 -10:00
Nikolaj Bjorner ad07e0e18d add sub and super-slice functionality directory to euf-bv-plugin 2023-12-23 10:27:54 -08:00
Nikolaj Bjorner cd331b8a56 remove reference to tactic.h
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-22 13:17:04 -08:00