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

15977 commits

Author SHA1 Message Date
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
Nikolaj Bjorner 7adb402a3f add missing dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-22 12:06:30 -08:00
Nikolaj Bjorner 5f451182f7 missing cmake list
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-22 12:02:24 -08:00
Nikolaj Bjorner e321643bf5 move sls core functionality to be independent of tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-22 12:00:52 -08:00
Nuno Lopes 606a9a7409 fix test build 2023-12-22 16:19:28 +00:00
Nuno Lopes cab3c45863 remove unnecessary parameter copies 2023-12-22 16:11:06 +00:00
Nuno Lopes ab22e763d7 some code simplifications in mpn
plus remove duplicated assertion
2023-12-22 15:29:04 +00:00
Nuno Lopes 766f5f04c0 reduce memory allocs in params 2023-12-21 23:27:28 +00:00
Christoph M. Wintersteiger 68a2c08d5e
Add Z3_get_estimated_alloc_size to OCaml API (#7068) 2023-12-21 12:54:30 -08:00
Lev Nachmanson 19f3ad46ce fix the build 2023-12-20 14:14:01 -10:00
Lev Nachmanson e9fa7db96c revert smt_enode
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-12-20 14:03:27 -10:00
Lev Nachmanson a00eb08ddd Merge branch 'master' of https://github.com/z3prover/z3 2023-12-20 12:56:55 -10:00
Lev Nachmanson 4317d134bf refactor: move gomory functionaly from int_solver to gomory 2023-12-20 12:56:20 -10:00
Nuno Lopes c4fa719751 revert last two commits; MSVC doesn't like to statically allocate flexible arrays 2023-12-20 19:10:05 +00:00
Nuno Lopes 6246c6517d fix debug build 2023-12-20 18:30:53 +00:00
Nuno Lopes c9c53b7c65 tmp_enode: don't heap allocate an app. store it inline instead.
Saves heap allocations and double indirections
2023-12-20 18:19:20 +00:00
Nuno Lopes 4898a156d8 shrink ast's app by 8 bytes on 64-bit platforms when number of args > 0 2023-12-20 16:58:45 +00:00
Nuno Lopes b2d5c24c1d remove a few string copies 2023-12-20 16:55:09 +00:00
Lev Nachmanson e28b644a67 remove an empty line 2023-12-20 06:53:59 -10:00
Lev Nachmanson d6365610d5 change some TRACE statements 2023-12-20 06:49:55 -10:00
Jakob Rath 97d450868e
Vector updates from polysat branch (#7066)
* vector: add erase_if

* vector: generalize operator<<

* vector: fix missing destructor call
2023-12-19 08:58:55 -08:00
Jakob Rath 4c9f705cd1
tptr: add pointer tagging templates (#7067) 2023-12-19 08:58:32 -08:00
Nuno Lopes fcc7b25c19 remove a few string copies 2023-12-19 14:34:37 +00:00
Lev Nachmanson 9a18628b17 remove unnecessary assignments 2023-12-18 18:49:27 -10:00
Nikolaj Bjorner ea44c110bb gc expressions in the scope of updates, not old expressions 2023-12-18 20:08:29 -08:00
Nikolaj Bjorner 13be3c3fbb reset model converter between rounds to elim-unconstrained. 2023-12-18 16:57:52 -08:00
Nikolaj Bjorner 0daa05aab2 add ability to log selected bv rewrites 2023-12-18 16:57:52 -08:00
Nikolaj Bjorner dff419a7cb pin expressions to fix unsound behavior 2023-12-18 16:57:52 -08:00
Nikolaj Bjorner 5d4c18dde2 fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-18 16:57:00 -08:00
Nikolaj Bjorner 6d23847482 fix typos
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-18 09:33:40 -08:00
Nikolaj Bjorner d008dbe50a port Jakob's update to bv_internalize
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-18 09:31:59 -08:00
Nikolaj Bjorner 085b5e2588 port Jakob's update to union_find from polysat branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-18 09:25:24 -08:00
Nikolaj Bjorner 2f2bf749b9 fixes to intblast encoding and more arithmetic rewriters
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-17 18:15:51 -08:00
Nikolaj Bjorner bb99f44214 fix bugs in elim-unconstr2 and fix bugs in intblast_solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-17 17:42:55 -08:00
Nikolaj Bjorner 4867073290 remove windowsArm64 from nightly
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-17 10:04:49 -08:00
Nikolaj Bjorner d0a59f3740 intblast with lazy expansion of shl, ashr, lshr
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-16 15:12:57 -08:00
Bruce Mitchener 50e0fd3ba6
Use noexcept more. (#7058) 2023-12-16 12:14:53 +00:00
Nikolaj Bjorner b44ab2f620 add rewriters for and
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-15 14:55:02 -08:00
Nikolaj Bjorner 4778f27b46 revert to standard solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-15 14:33:23 -08:00
Nikolaj Bjorner 9293923b8a Add intblast solver 2023-12-15 13:50:38 -08:00
Nikolaj Bjorner 0520558fc0 port updated pdd from polysat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-15 08:54:03 -08:00
Christoph M. Wintersteiger 2e83352d42
Fix bug in fp.round_to_integral (#7060) 2023-12-15 08:34:27 -08:00
Bruce Mitchener e90a844508
Use override more. (#7059) 2023-12-15 08:44:57 +00:00
Lev Nachmanson f6e69d43a3 Merge branch 'master' of https://github.com/z3prover/z3 2023-12-14 08:21:21 -10:00
Nikolaj Bjorner b40e3015ef fix #7053 2023-12-13 19:25:18 -08:00
Bruce Mitchener 3ebec56880
tptr.h: Include <cstdint> once rather than twice. (#7051) 2023-12-13 09:36:41 -08:00
Lev Nachmanson 536f4f84bb Merge branch 'master' of https://github.com/z3prover/z3 2023-12-12 15:23:43 -10:00
Nikolaj Bjorner 70d4f32ffd port updates from poly/polysat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-09 13:00:43 -08:00
Nikolaj Bjorner e580c384b8 import updates to rational from polysat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-09 12:46:06 -08:00