Bruce Mitchener
706f7fbdc7
Fix some warnings about unused stuff. ( #6290 )
2022-08-21 12:39:30 -07:00
Nuno Lopes
d5d77dfe64
minor code simplifications
2022-08-20 12:56:45 +01:00
Nikolaj Bjorner
08bf7a6293
fix name
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-19 18:22:42 -07:00
Nikolaj Bjorner
665ef2c6ba
add missing new
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-19 18:21:03 -07:00
Nikolaj Bjorner
bb5d81195c
use equalities
2022-08-19 18:17:16 -07:00
Nikolaj Bjorner
b26420ed99
#6285
2022-08-19 18:17:16 -07:00
Nikolaj Bjorner
e83a70f9ad
add newlines for description
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-19 06:57:39 -07:00
Nikolaj Bjorner
540e36e6cb
roll version number
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-18 15:47:08 -07:00
Nikolaj Bjorner
19da3c7086
fix closing parnetheses
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-18 13:26:29 -07:00
Nikolaj Bjorner
d094f6a856
fixing interface and test'
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-18 13:00:46 -07:00
Nikolaj Bjorner
c7eda4e687
fixing interface and test'
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-18 12:59:00 -07:00
Nikolaj Bjorner
c3d635cf77
handle build warning
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-18 12:50:30 -07:00
Nikolaj Bjorner
6fb7a049ea
test fromString
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-18 12:41:02 -07:00
Nikolaj Bjorner
53e168879a
add fromString method
2022-08-18 12:33:10 -07:00
Nikolaj Bjorner
4be26eb543
#6116
...
handle also nan/oo/0+ as numerals
2022-08-18 04:26:14 -07:00
Nikolaj Bjorner
8e167aa213
#6116
...
fix unsoundness issue due to book-keeping changes for whether the solver uses assumptions.
2022-08-18 03:58:06 -07:00
Nikolaj Bjorner
1a5503c87b
enable new code path for mod handling
2022-08-17 07:31:26 -07:00
Nikolaj Bjorner
cb272bd7a8
fix missing removal of x in solve_mod
2022-08-17 07:31:26 -07:00
Nikolaj Bjorner
48b13291d1
add bv-size reduce #6137
...
- add option smt.bv.reduce_size.
- it allows to apply incremental pre-processing of bit-vectors by identifying ranges that are known to be constant.
This rewrite is beneficial, for instance, when bit-vectors are constrained to have many high-level bits set to 0.
2022-08-16 16:35:14 -07:00
Nikolaj Bjorner
9d6de2f873
parameters neatified
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-16 09:14:34 -07:00
Nikolaj Bjorner
b169292743
add parameter descriptions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-16 08:26:53 -07:00
Nikolaj Bjorner
583dae2e27
enable nested division
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-15 16:11:00 -07:00
Nikolaj Bjorner
e0aa32e6c5
fix #6270
...
MBQI asserts auxiliary function definitions to handle models of arrays. This is unsound if the definition contains a model value.
2022-08-15 00:13:32 -07:00
Nikolaj Bjorner
a0d4a8c21c
update diagnostics
2022-08-15 00:12:44 -07:00
Nikolaj Bjorner
138f0d269c
fix regression found by fuzzers fix #6271
2022-08-14 12:26:33 -07:00
Nikolaj Bjorner
1d87592b13
fixes to mod/div elimination
...
elimination of mod/div should be applied to all occurrences of x under mod/div at the same time. It affects performance and termination to perform elimination on each occurrence since substituting in two new variables for eliminated x doubles the number of variables under other occurrences.
Also generalize inequality resolution to use div.
The new features are still disabled.
2022-08-14 11:34:03 -07:00
Nikolaj Bjorner
f014e30d46
disable case1
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-13 08:53:19 -07:00
Nikolaj Bjorner
d80e2fb61d
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-13 08:49:07 -07:00
Nikolaj Bjorner
16a948683f
Merge branch 'master' of https://github.com/z3prover/z3
2022-08-13 07:07:34 -07:00
Nikolaj Bjorner
fa91a644d3
make extensionality commutative
2022-08-13 07:07:14 -07:00
Nikolaj Bjorner
5669cf65bc
bug fixes to mod/div quantifier elimination features
2022-08-13 06:18:13 -07:00
Nikolaj Bjorner
88b6c4a30d
pdate decl collection to include functions under arrays
...
Signedoff-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-12 13:45:16 -07:00
Bruce Mitchener
72f4ee9230
api: Correctly map OP_BSREM0 to Z3_BSREM0.
2022-08-12 14:40:16 -04:00
Nikolaj Bjorner
550d6914b1
updates to div/mod handling in quantifier projection
...
note: the new code remains disabled at this point.
2022-08-12 14:39:33 -04:00
Nikolaj Bjorner
d272becade
fixes for division
2022-08-12 11:54:26 -04:00
Nikolaj Bjorner
f989521a8c
add initial skeleton for xor-solver
2022-08-12 11:54:10 -04:00
Nikolaj Bjorner
b6d71fccd8
fix #6265
2022-08-12 10:22:22 -04:00
Nikolaj Bjorner
03385bf78d
improve quantifier elimination for arithmetic
...
This update changes the handling of mod and adds support for nested div terms.
Simple use cases that are handled using small results are given below.
```
(declare-const x Int)
(declare-const y Int)
(declare-const z Int)
(assert (exists ((x Int)) (and (<= y (* 10 x)) (<= (* 10 x) z))))
(apply qe2)
(reset)
(declare-const y Int)
(assert (exists ((x Int)) (and (> x 0) (= (div x 41) y))))
(apply qe2)
(reset)
(declare-const y Int)
(assert (exists ((x Int)) (= (mod x 41) y)))
(apply qe2)
(reset)
```
The main idea is to introduce definition rows for mod/div terms.
Elimination of variables under mod/div is defined by rewriting the variable to multiples of the mod/divisior and remainder.
The functionality is disabled in this push.
2022-08-12 10:20:43 -04:00
Nikolaj Bjorner
786280c646
print skolem declarations only for lemma tracing
2022-08-11 11:34:54 +03:00
Nikolaj Bjorner
b55ad5f20e
fix #6267
2022-08-11 09:31:54 +03:00
Nikolaj Bjorner
49064252ac
fix issues for user-propagator from new core
2022-08-09 14:56:27 +03:00
Nikolaj Bjorner
f27485dae7
avoid push/pop if diseq/eq are not defined
2022-08-09 11:33:29 +03:00
Nikolaj Bjorner
78eaefe5a8
move solver-params to params
2022-08-08 11:34:41 +03:00
Nikolaj Bjorner
77a313ff76
redo #6242
...
revert to byte based high watermark
add mb based high watermark
2022-08-08 11:26:18 +03:00
Nikolaj Bjorner
63f48f8fd4
add options for logging learned lemmas and theory axioms
...
- add solver.axioms2files
- prints negated theory axioms to files. Each file should be unsat
- add solver.lemmas2console
- prints lemmas to the console.
- remove option smt.arith.dump_lemmas. It is replaced by solver.axioms2files
2022-08-08 11:18:56 +03:00
Nikolaj Bjorner
410eed9bd5
#6116
2022-08-07 11:09:43 +03:00
Nikolaj Bjorner
8e077d8ef9
#6116
2022-08-07 10:25:04 +03:00
Nikolaj Bjorner
539d44464f
#6196
...
map can be simplified
2022-08-07 10:17:24 +03:00
Nikolaj Bjorner
f34317d604
#6196
2022-08-07 09:44:10 +03:00
Nikolaj Bjorner
a4ea281602
fix #6260
2022-08-06 08:21:52 +03:00
Bruce Mitchener
5014b1a34d
Use = default
for virtual constructors.
2022-08-05 18:11:46 +03:00
Arie Gurfinkel
aa0719abae
model_based_opt: fix enabling complete resolution
...
a bug prevented an optimization to be enabled
2022-08-05 18:11:23 +03:00
Nikolaj Bjorner
80c516bb50
squash stores
2022-08-05 13:57:35 +03:00
Bruce Mitchener
6835522a7f
z3++.h: No longer include unused sstream.
...
This makes some code using the C++ API have to include `<sstream>`
if they used the functionality but didn't include it themselves.
2022-08-05 09:41:49 +03:00
Nikolaj Bjorner
e48474ec0e
Merge branch 'master' of https://github.com/z3prover/z3
2022-08-05 09:20:00 +03:00
Nikolaj Bjorner
c51af91256
#6257
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-05 09:19:49 +03:00
Arie Gurfinkel
a9b7348b4b
(cmake): fix visibility on shell z3 binary
...
Commit #b361226 changed symbol visibility from a global to a local option.
This creates inconsistency for shell that is compiled as an executable rather
than as z3 component.
This commit adds same local options to shell target in cmake.
Prior to the fix, clang on OSX complains with lots of warnings about symbol visibility
being different in different translation units that are linked together
2022-08-05 09:00:40 +03:00
Nikolaj Bjorner
78a0f57398
for #6257
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-05 08:09:39 +03:00
Bruce Mitchener
1d9345c3de
Fix typos.
2022-08-05 07:40:50 +03:00
Bruce Mitchener
08165f5367
No need to return a const bool.
2022-08-05 07:40:19 +03:00
Nikolaj Bjorner
9da6895276
add option to select with folding
2022-08-04 16:59:26 +03:00
Nikolaj Bjorner
a8ff976bcc
max maximal unfolding configurable
2022-08-04 16:59:26 +03:00
Bruce Mitchener
8a3556e5ba
cmake: Remove dep on mk_util.py for update_api.py calls.
...
update_api.py doesn't depend on mk_util.py any longer, so these
dependencies can go away.
2022-08-04 07:54:26 +03:00
Saloed
d908ebec4c
fix memory_high_watermark parameter according to documentation
2022-08-03 18:50:54 +03:00
Bruce Mitchener
d8c99480c6
test/lp: Replace if linux with if not windows.
...
This is stuff that works on posix, so we can flip the check.
2022-08-03 08:22:54 +03:00
Bruce Mitchener
112dba559f
Remove unused private member from smaller_pattern.
2022-08-03 08:21:32 +03:00
Nikolaj Bjorner
774ce3d7ab
create special case for osx arm
...
shortcut when store/select are distinct
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-03 07:56:02 +03:00
Bruce Mitchener
42f5047463
cmake: Cleanup remnants of workaround for USES_TERMINAL.
...
In older versions, this was dependent upon the version of cmake,
but when it was updated for newer cmake, these remnants were
left.
2022-08-02 17:39:10 +03:00
Bruce Mitchener
8313282cda
Use char version of find_last_of when possible.
2022-08-02 17:38:11 +03:00
Bruce Mitchener
886c3abec1
Remove remnants of _MP_MSBIGNUM checks.
2022-08-02 09:28:57 +03:00
Bruce Mitchener
9a99c78ffb
Enable thread_local code more broadly.
...
This was only being enabled on Windows, Linux, and FreeBSD. (FreeBSD
only had it enabled in the legacy build system, not in cmake.)
`thread_local` is part of C++11, so now that we require C++17
or later and more recent compilers, this should work everywhere
that threading does, so only disable it within a `SINGLE_THREAD`
build.
2022-08-02 09:24:51 +03:00
Bruce Mitchener
82d853e5f8
Use = delete
to delete special methods.
...
This provides a better experience than just marking them as
private and leaving them as undefined symbols.
2022-08-02 09:23:14 +03:00
Jakob Rath
2c2ab0d57a
Additional BV matchers
2022-08-01 18:37:11 +03:00
Jakob Rath
5d858da58a
union_find::reserve
2022-08-01 18:37:11 +03:00
Jakob Rath
e8e64d3098
dlist::insert_before/after
2022-08-01 18:37:11 +03:00
Jakob Rath
de6a0ab1a7
PDD operations
2022-08-01 18:37:11 +03:00
Jakob Rath
42233ab5c8
Additional BDD operations; BDD vectors and finite domain abstraction
2022-08-01 18:37:11 +03:00
Jakob Rath
9275d1e57a
sparse_matrix iterators
2022-08-01 18:37:11 +03:00
Jakob Rath
6eae27ffad
numeral helper functions
2022-08-01 18:37:11 +03:00
Jakob Rath
e31926d132
var_queue display
2022-08-01 18:37:11 +03:00
Jakob Rath
6a929f91c8
scoped_ptr_vector usability
2022-08-01 18:37:11 +03:00
Jakob Rath
d2fe174320
Add SASSERT_EQ and VERIFY_EQ
2022-08-01 18:37:11 +03:00
Jakob Rath
79ee543d25
Move tbv to util
2022-08-01 18:37:11 +03:00
Bruce Mitchener
a89be68050
Use false
instead of 0
.
2022-08-01 18:28:07 +03:00
Bruce Mitchener
fe1e301735
Remove Z3_bool, Z3_TRUE, Z3_FALSE from the API.
...
These have just been aliases for the standard type `bool` and
values `true` and `false` for a long time now.
2022-08-01 14:25:00 +03:00
Bruce Mitchener
77e5d6ab19
Use nullptr consistently instead of 0
or NULL
.
2022-08-01 14:24:32 +03:00
Nikolaj Bjorner
bf282b05c8
fix #6213
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-31 18:40:59 +03:00
Nikolaj Bjorner
4a1baa7d2d
fix #6165
2022-07-30 17:10:01 +02:00
Bruce Mitchener
5d0dea05aa
Remove empty leaf destructors. ( #6211 )
2022-07-30 10:07:03 +01:00
Bruce Mitchener
fc40e3c510
Remove usages of Z3_bool, just use bool.
2022-07-30 05:49:05 +02:00
Nikolaj Bjorner
2a8e73f34f
Merge branch 'master' of https://github.com/z3prover/z3
2022-07-29 23:30:37 +02:00
Nikolaj Bjorner
6d71d9e816
update coding style to C++11
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-29 23:30:33 +02:00
Bruce Mitchener
1eb84fe4b9
Mark override methods appropriately. ( #6207 )
2022-07-29 23:29:15 +02:00
Bruce Mitchener
8e0d9bf42d
Remove remainder workaround for pre-MSVC2013. ( #6204 )
...
This workaround was built for _MSC_VER <= 1700. 1700 was
Visual Studio 2012, which is no longer supported for
building Z3.
2022-07-29 11:50:31 +02:00
Bruce Mitchener
eba29a280d
Use std::hexfloat more. ( #6203 )
...
Previously, we were only using std::hexfloat on Windows on VS2013
and later.
Since std::hexfloat is part of C++11 and we require C++11 to build
the Z3 library, this should be supported everywhere.
2022-07-29 11:49:56 +02:00
Bruce Mitchener
75339c6db7
Fix doxygen warnings in C API docs. ( #6202 )
2022-07-29 11:49:24 +02:00
Bruce Mitchener
78237578f3
Enable more tests on non-Windows. ( #6199 )
...
Some tests were `#ifdef _WINDOWS` even though they compiled
and ran on other platforms. Remove the #ifdef protections
in these cases.
2022-07-29 11:48:27 +02:00
Nikolaj Bjorner
ee80414e55
sketch initial for mpz/mpq numeral creation
2022-07-27 10:46:03 +02:00
Nikolaj Bjorner
8551b217ce
fix #6194
2022-07-27 08:03:57 +02:00
Nikolaj Bjorner
b6c80e8b00
fix #6193
2022-07-27 04:28:41 +02:00
Nikolaj Bjorner
cd7ef11593
add decide callbacks to propagator API
...
this is an intermediary state. The decide_eh is only partially implemented.
2022-07-27 04:28:41 +02:00
JohnLyu2
3e8daa5965
fix re.range symbolic argument bug in z3str3 ( #6189 )
2022-07-27 04:24:20 +02:00
Bruce Mitchener
70895b2375
Improve intra-doc linking. ( #6191 )
2022-07-25 23:14:10 +02:00
Nikolaj Bjorner
43f2b848d4
fix typo
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-25 03:44:12 +02:00
Nikolaj Bjorner
5c2c0ae900
force-push on new_eq, new_diseq in user propagator, other fixes to Python bindings for user propagator
...
This update allows the python bindings for user-propagator to handle functions that are declared to be registered with the user propagator plugin. It fixes a bug in UserPropagateBase.add to allow registering terms dynamically during search.
It also fixes a bug in theory_user_propagate as scopes were not fully pushed when the solver gets the callbacks for new equalities and new disequalities.
It also adds equality and disequality interfaces to the sat/smt solver version (which isn't being exercised in earnest yet)
2022-07-25 03:42:29 +02:00
Bruce Mitchener
3e38bbb009
Make sure all headers do #pragma once
. ( #6188 )
2022-07-23 10:41:14 -07:00
Nikolaj Bjorner
1155ea69a1
add await
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-22 12:42:19 -07:00
Nikolaj Bjorner
212a0657a2
try .ast
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-22 12:34:07 -07:00
Nikolaj Bjorner
7c0ec21af8
try to add basic expression simplification
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-22 12:21:25 -07:00
Nikolaj Bjorner
4368ec9953
startswith
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-22 11:53:07 -07:00
Nikolaj Bjorner
1e0f71c971
add way to access range bounds directly #6186
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-22 09:35:37 -07:00
Nikolaj Bjorner
87dd837b55
Merge branch 'master' of https://github.com/Z3Prover/z3
2022-07-21 23:22:37 -07:00
Nikolaj Bjorner
89af9df02d
add IEnumerable for distinct
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-21 23:22:24 -07:00
Nikolaj Bjorner
0f9684e1f8
make fresh_eh() work for Python bindings of user-propagator
2022-07-21 21:44:02 -07:00
Nikolaj Bjorner
907dc2c2d2
adding toString() to model object
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-21 20:45:45 -07:00
Nikolaj Bjorner
efa74fe6c6
fix #6180
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-21 12:20:36 -07:00
Nikolaj Bjorner
cf5a8fd248
fix validation code for pb
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-21 08:58:32 -07:00
Nikolaj Bjorner
a66095bb08
fix the path to ../build/z3-built
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-20 22:36:34 -07:00
Nikolaj Bjorner
dc9565990c
did I mess up wasm paths in jest - or not?
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-20 22:15:22 -07:00
Nikolaj Bjorner
37008226c3
did I mess up wasm paths in jest?
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-20 22:14:21 -07:00
Nikolaj Bjorner
32c0d1f636
fix #6168
2022-07-20 21:48:47 -07:00
Nikolaj Bjorner
7f983e7d9e
fix #6174
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-20 21:22:41 -07:00
Nikolaj Bjorner
32614722ef
fix #6176
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-20 21:19:20 -07:00
Nikolaj Bjorner
1b83a4556b
fix #6178
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-20 20:48:23 -07:00
Nikolaj Bjorner
5b219aab76
add mutual recursive datatypes to c++ API #6179
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-20 20:32:00 -07:00
Nikolaj Bjorner
2e13c0bf41
add API and example for one dimensional algebraic datatype #6179
2022-07-20 19:43:18 -07:00
Nikolaj Bjorner
81cb575c22
simplify
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-19 22:58:12 -07:00
Nikolaj Bjorner
2e52029114
add command-line overwrite capability to setup.py
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-19 22:53:25 -07:00
Nikolaj Bjorner
2c8df54b70
enable fresh for python wrapper for user-propagator
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-19 13:48:44 -07:00
Nikolaj Bjorner
111d27cbee
remove dependency on pragma
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-19 09:36:22 -07:00
Nikolaj Bjorner
dead0c9de2
reverting relative path
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-18 11:47:57 -07:00
Nikolaj Bjorner
afcfc80c42
the relative path seems out of sync with how it is set up in node.ts
2022-07-18 11:21:16 -07:00
Nikolaj Bjorner
7f1893d781
add missing MkSub to NativeContext
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-18 10:21:27 -07:00
Nikolaj Bjorner
393c63fe0c
fix #6114
2022-07-18 09:33:39 -07:00
Nikolaj Bjorner
527914db05
update documentation to use latest conventions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-17 11:49:28 -07:00
Nikolaj Bjorner
b5a89eb4ab
add missing generation of z3.z3 for pydoc and add some explanations to logging function declaration
2022-07-17 11:03:55 -07:00
Clemens Eisenhofer
95c3dd9224
Added missing decide-callback for tactics ( #6166 )
...
* Added function to select the next variable to split on
* Fixed typo
* Small fixes
* uint -> int
* Fixed missing assignment for binary clauses
* Added missing decide-callback for tactics
2022-07-17 10:07:52 -07:00
Nuno Lopes
6e5ced0080
optimizations to api ctx ref counting
2022-07-17 11:44:35 +01:00
Nikolaj Bjorner
eb2ee34dfe
fix typo
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-16 16:58:57 -07:00
Nikolaj Bjorner
aefd336c18
set OCaml default behaivor to enable concurrent dec ref #6160
...
Add Z3_enable_concurrent_dec_ref to the API.
It is enables behavior of dec_ref functions that are exposed over the API to work with concurrent GC. The API calls to dec_ref are queued and processed in the main thread where context operations take place (in a way that is assumed thread safe as context operations are only allowed to be serialized on one thread at a time).
2022-07-16 16:49:39 -07:00
Nikolaj Bjorner
6c5747a80e
guard against lemmas that are already true
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-15 10:03:31 -07:00
Nikolaj Bjorner
4ecb61aeaa
neatify
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-15 09:53:56 -07:00
Nikolaj Bjorner
2696775088
remove stale assertion
...
with support for substitutions we allow the simplifier to change the state of equations.
2022-07-15 04:03:25 -07:00
Nikolaj Bjorner
6688c1d62a
prepare for #6160
...
The idea is to set _concurrent_dec_ref from the API
(function not yet provided externally, but you can experiment with it by setting the default of m_concurrent_dec_ref to true).
It then provides concurrency support for dec_ref operations.
2022-07-15 03:53:15 -07:00
Nikolaj Bjorner
b29cdca936
integrate factorization to Grobner
2022-07-14 21:24:27 -07:00
Nikolaj Bjorner
7c177584f3
add propagators to grobner
2022-07-14 15:45:07 -07:00
Andrea Lattuada
af80bd18ce
Flush the trace stream before displaying sat results ( #6162 )
2022-07-14 13:43:57 -07:00
Stefan Muenzel
2f5fef92b7
Cache param descrs when modifying solver params ( #6156 )
2022-07-14 11:11:56 -07:00
Nikolaj Bjorner
4a192850f2
add var_factors
...
Add routine to partially factor polynomials. It factors out variables.
2022-07-14 11:06:53 -07:00
Nikolaj Bjorner
981c82c814
fix initialization order
2022-07-13 18:11:18 -07:00
Nikolaj Bjorner
894fb836e2
fix build break (debug assertion) and isolate gomory functionality
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-13 17:26:56 -07:00
Nikolaj Bjorner
b253db2c0a
redundant parenthesis
2022-07-13 16:20:03 -07:00
Nikolaj Bjorner
dec87fe4d9
fix issue with set-logic for eval_smtlib2_string
2022-07-13 16:19:12 -07:00
Nikolaj Bjorner
1378e713ba
fix #6157
2022-07-13 14:37:04 -07:00
Nikolaj Bjorner
a3eb9da191
fix #6158
2022-07-13 14:33:42 -07:00
Nikolaj Bjorner
8e23af33d7
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-13 14:20:21 -07:00
Nikolaj Bjorner
b81f70f6fc
split nla_grobner to separate file
2022-07-13 13:05:57 -07:00
Nikolaj Bjorner
7d0c789af0
propagate has-length over map/mapi
2022-07-12 20:50:28 -07:00
Nikolaj Bjorner
8900db527f
add diagnostics for grobner
2022-07-12 20:49:54 -07:00
Nikolaj Bjorner
ca80d99617
fix #6153
2022-07-12 15:49:57 -07:00
Nikolaj Bjorner
43cf053066
fix #6128
2022-07-12 15:43:12 -07:00
Nikolaj Bjorner
d5779bf99c
handle trivial equalities in simplify_leaf
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-11 21:05:26 -07:00
Nikolaj Bjorner
316ed778e0
Tune Grobner equations
...
\brief convert p == 0 into a solved form v == r, such that
v has bounds [lo, oo) iff r has bounds [lo', oo)
v has bounds (oo,hi] iff r has bounds (oo,hi']
The solved form allows the Grobner solver identify more bounds conflicts.
A bad leading term can miss bounds conflicts.
For example for x + y + z == 0 where x, y : [0, oo) and z : (oo,0]
we prefer to solve z == -x - y instead of x == -z - y
because the solution -z - y has neither an upper, nor a lower bound.
The Grobner solver is augmented with a notion of a substitution that is applied before the solver is run.
2022-07-11 16:14:26 -07:00
Nikolaj Bjorner
f33c933241
Add substitution routine to pdd
...
For Grobner we want to preserve directions of intervals for finding sign conflicts. This means that it makes sense to have external control over linear solutions.
2022-07-11 12:10:28 -07:00
Nikolaj Bjorner
5c54d6564b
fix #6143
2022-07-11 12:09:15 -07:00
Victor Paléologue
8b29f40152
Fix build on Mac ( #6146 )
...
* Fix finding Python on Mac
On Mac you have to specify the version.
It also works well on other platforms this way.
* Ignore CMake build directories from index
* Fix warning about unused variable in release
The variable is used in debug only,
but it's legit that the compiler does not warn us for that in release.
2022-07-11 09:46:23 -07:00
Nikolaj Bjorner
49b7e9084f
Merge branch 'master' of https://github.com/z3prover/z3
2022-07-11 09:26:34 -07:00
Anthony Romano
7ae1a338a7
parallel-tactic: fix deadlocking race between shutdown and get_task ( #6152 )
...
Deadlock/Race is as follows:
1. get_task() reads m_shutdown == false and enters loop body
2. shutdown() is called; sets m_shutdown = true
3. shutdown() calls m_cond.notify_all()
4. get_task() finds no task in try_get_task()
5. get_task() calls m_cond.wait(), missing the notification
6. solve() waits forever on join()
Provided patch wraps (2) and (3) with the condition variable lock so that
step (5) cannot miss the notification.
Co-authored-by: Anthony Romano <anthony@forallsecure.com>
2022-07-11 09:26:11 -07:00
Stefan Muenzel
99212a2726
Use int64 for ocaml api functions that require it ( #6150 )
...
* Use int64 for ocaml api functions that require it
Signed-off-by: Stefan Muenzel <source@s.muenzel.net>
* Use elif
Signed-off-by: Stefan Muenzel <source@s.muenzel.net>
2022-07-11 09:25:05 -07:00
Clemens Eisenhofer
1f2346073a
Fixed missing assignment for binary clauses ( #6148 )
...
* Added function to select the next variable to split on
* Fixed typo
* Small fixes
* uint -> int
* Fixed missing assignment for binary clauses
2022-07-11 09:24:03 -07:00
Nikolaj Bjorner
9dd529bb12
missing initialization of List for cmd interpreter
2022-07-11 08:17:38 -07:00
Nikolaj Bjorner
b68af0c1e5
working on reconciling perf for arithmetic solvers
...
this update integrates inferences to smt.arith.solver=6 related to grobner basis computation and handling of div/mod axioms to reconcile performance with smt.arith.solver=2.
The default of smt.arth.nl.grobner_subs_fixed is changed to 1 to make comparison with solver=2 more direct.
The selection of cluster equalities for solver=6 was reconciled with how it is done for solver=2.
2022-07-11 07:38:51 -07:00
Nikolaj Bjorner
0c42d3b079
small format update
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-06 11:41:48 -07:00
Kevin Gibbons
0d4169533a
fix js distributable ( #6139 )
2022-07-06 10:59:01 -07:00
Nikolaj Bjorner
580ed31afd
fix types and incompleteness for feature #6104
2022-07-06 01:08:54 -07:00
Nikolaj Bjorner
85c3d874dc
neatify
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 16:57:41 -07:00
Nikolaj Bjorner
f23dc894b4
add disabled pass to detect upper bound range constraints
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 16:51:05 -07:00
Nikolaj Bjorner
a374e2c575
ignore qid if they are both numerical - come from the parser
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 15:47:48 -07:00
Nikolaj Bjorner
6e53621146
#6112
...
add q->get_qid() to comparison of quantifiers
2022-07-05 13:17:04 -07:00
Nikolaj Bjorner
d7472f0726
fix #6124
...
expression pointers were changed within a function, but not pinned. So the pointers got stale. To enforce their life-time within the function body (for use in logging) pin the expressions.
2022-07-05 12:48:21 -07:00
Nikolaj Bjorner
f82ca197d2
#6104 also in the new core
2022-07-05 12:38:07 -07:00
Nikolaj Bjorner
de41cfd277
fix #6104
...
add equality reasoning to bit-vector solver to instantiate int2bv(bv2int(x)) = x identity on demand.
2022-07-05 12:23:24 -07:00
Nikolaj Bjorner
ac822acb0f
add parameter incremental to ensure preprocessing does not interefere with adding constraints during search
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 08:10:20 -07:00
Nikolaj Bjorner
71fc83c051
Move out equality use out of the loop
2022-07-04 12:42:39 -07:00
Nikolaj Bjorner
0353fc38ff
fix #6127 again
...
this time adding inheritance to the recfun plugin so it properly contains the recursive definitions from the source.
2022-07-04 12:42:11 -07:00
Nikolaj Bjorner
6ed2b444b5
probably won't fix #6127
...
recfun decl plugin does not get copied so recursive functions are lost when cloning.
Fix is risky and use case is limited to threads + recursive definitions
2022-07-03 18:10:52 -07:00
Nikolaj Bjorner
ac8aaed1d4
fix #6126
2022-07-03 17:47:05 -07:00
Nikolaj Bjorner
02a92fb9e9
revert to use GCHandle for UserPropagator
...
avoids using a global static array
2022-07-03 17:00:40 -07:00
Nikolaj Bjorner
1e8f9078e3
fix unsoundness in explanation handling for nested datatypes and sequences
2022-07-03 17:00:39 -07:00
Nikolaj Bjorner
bb966776b8
Update UserPropagator.cs
2022-07-02 13:15:05 -07:00
Nikolaj Bjorner
d37ed4171d
Update Expr.cs
...
Add a Dup functionality that allows extending the life-time of expressions that are passed by the UserPropagator callbacks (or other code).
2022-07-02 13:12:54 -07:00
Nikolaj Bjorner
54b16f0496
Update NativeStatic.txt
...
not so automatically generated
2022-07-02 13:04:09 -07:00
Nikolaj Bjorner
004139b320
rewrites for characters
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-02 11:37:21 -07:00
Nikolaj Bjorner
f20db3e644
allow for toggling proof and core mode until the first assertion.
2022-07-02 09:31:36 -07:00
Nikolaj Bjorner
4d23f2801c
ml pre
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-01 20:35:47 -07:00
Nikolaj Bjorner
815518dc02
add facility for incremental parsing #6123
...
Adding new API object to maintain state between calls to parser.
The state is incremental: all declarations of sorts and functions are valid in the next parse. The parser produces an ast-vector of assertions that are parsed in the current calls.
The following is a unit test:
```
from z3 import *
pc = ParserContext()
A = DeclareSort('A')
pc.add_sort(A)
print(pc.from_string("(declare-const x A) (declare-const y A) (assert (= x y))"))
print(pc.from_string("(declare-const z A) (assert (= x z))"))
print(parse_smt2_string("(declare-const x Int) (declare-const y Int) (assert (= x y))"))
s = Solver()
s.from_string("(declare-sort A)")
s.from_string("(declare-const x A)")
s.from_string("(declare-const y A)")
s.from_string("(assert (= x y))")
print(s.assertions())
s.from_string("(declare-const z A)")
print(s.assertions())
s.from_string("(assert (= x z))")
print(s.assertions())
```
It produces results of the form
```
[x == y]
[x == z]
[x == y]
[x == y]
[x == y]
[x == y, x == z]
```
Thus, the set of assertions returned by a parse call is just the set of assertions added.
The solver maintains state between parser calls so that declarations made in a previous call are still available when declaring the constant 'z'.
The same holds for the parser_context_from_string function: function and sort declarations either added externally or declared using SMTLIB2 command line format as strings are valid for later calls.
2022-07-01 20:27:18 -07:00
Nikolaj Bjorner
8c2ba3d47e
missing virtual functions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-01 19:18:09 -07:00
Nikolaj Bjorner
06771d1ac5
missing virtual functions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-01 18:31:08 -07:00
Nikolaj Bjorner
4f9ef12f34
create dummy tactics for single threaded mode
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-01 18:13:36 -07:00
Nikolaj Bjorner
3c94083a23
fix doc errors
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-01 15:29:44 -07:00
Nikolaj Bjorner
ea2a843325
flat only
...
remove option for uzers (users who are in reality fuzzers) to toggle flat option. The legacy arithmetic solver bakes in assumptions about flat format so it isn't helpful to expose this to fuzzers, I mean uzers.
2022-06-30 19:59:46 -07:00
Nikolaj Bjorner
b618537322
Merge branch 'master' of https://github.com/z3prover/z3
2022-06-30 19:49:28 -07:00
Nikolaj Bjorner
94a2477fa0
totalizer
2022-06-30 19:49:19 -07:00
Nikolaj Bjorner
959a0ba370
fix #6121
2022-06-30 19:47:26 -07:00
Mark Marron
e054f1683c
fixing compiler warn (missing override) ( #6125 )
2022-06-30 15:39:28 -07:00
Nikolaj Bjorner
c3d2120bdd
add totalizer version of rc2
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-29 23:10:42 -07:00
Nikolaj Bjorner
8ab8b63a4c
fix incorrect mod axiomatization #6116
2022-06-29 12:32:04 -07:00
Nikolaj Bjorner
f6932f9a75
Merge branch 'master' of https://github.com/z3prover/z3
2022-06-29 11:16:34 -07:00
Nikolaj Bjorner
1a9122663c
remove unsound axioms, fix #6115
2022-06-29 11:16:10 -07:00
Joe Hauns
03287d65a4
fixes issue #6119 ( #6120 )
...
Co-authored-by: Johannes Schoisswohl <johannes.schoisswohl@myotis.at>
2022-06-29 11:10:33 -07:00
Nikolaj Bjorner
ff265235c1
adjust trace output
2022-06-29 08:20:01 -07:00
Nikolaj Bjorner
5afcb489e0
adding totalizer
2022-06-29 08:20:01 -07:00
Nikolaj Bjorner
fd8ee34564
add logging
2022-06-29 08:20:01 -07:00
Max Levatich
12e7b4c3d6
fix gc'ed callbacks in .NET propagator api ( #6118 )
...
Co-authored-by: Maxwell Levatich <t-mlevatich@microsoft.com>
2022-06-28 19:22:41 -07:00
Nikolaj Bjorner
79778767b0
add doc string
2022-06-28 14:25:43 -07:00
Nikolaj Bjorner
798a4ee86e
use IEnumerator and format
2022-06-28 14:24:05 -07:00
Nikolaj Bjorner
556f0d7b5f
use static list to connect managed and unmanaged objects
2022-06-28 14:09:22 -07:00
Nikolaj Bjorner
820c782b5e
pinned semantics
2022-06-28 13:03:52 -07:00
Nikolaj Bjorner
9836d5e6fc
missing public
2022-06-28 12:46:29 -07:00
Nikolaj Bjorner
b43965bf05
make user propagator work with combined solver
...
Then users don't have to specify SImpleSolver, but can use "Solver"
2022-06-28 09:42:28 -07:00
Nikolaj Bjorner
4c8f6b60ce
fix #6107
2022-06-27 20:51:30 -07:00
Nikolaj Bjorner
61f5489223
fix #6107
2022-06-27 16:53:18 -07:00
Nikolaj Bjorner
1fcf7cf0b7
add nl div mod axioms
2022-06-27 09:02:53 -07:00
Nikolaj Bjorner
30165ed40a
fix #6105
...
non-linear division axioms appear incomplete.
Fixed for legacy arithmetic. Fix pending for new arithmetic solver.
2022-06-26 20:37:18 -07:00
Nikolaj Bjorner
56aa4261b6
fix #6082
2022-06-23 07:43:06 -07:00
Kevin Gibbons
352666b19f
JS api: fix type for from ( #6103 )
...
* JS api: fix type for from
* whitespace
2022-06-22 14:51:40 -07:00
Kevin Gibbons
c15a000d9b
Make high-level JS API more idiomatic/type-safe ( #6101 )
...
* make JS api more idiomatic
* make JS api type-safe by default
* use strings, not symbols, for results
* add toString
* add miracle sudoku example
* ints should be ints
* add error handling
* add missing Cond to Context
* fewer side-effecting getters
2022-06-22 09:26:44 -07:00
Nikolaj Bjorner
8234eeae40
unbreak
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-22 09:03:32 -07:00
Nikolaj Bjorner
3189544050
next split
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-22 09:03:32 -07:00
Felix Kohlgrüber
a7b41c49fe
fix for spurious wakeups in scoped_timer ( #6102 )
2022-06-22 10:50:19 +01:00
Nuno Lopes
41deed59a3
fix bug in array rewriter introduced in 202ce1e
2022-06-21 22:40:40 +01:00
Nikolaj Bjorner
36a1f758bc
mask regression
2022-06-21 14:34:47 -07:00
Nikolaj Bjorner
ab9aee189b
perf #6100
2022-06-21 13:49:52 -07:00
Nikolaj Bjorner
202ce1edf0
#6100 - two perf fixes
...
remaining perf bug is dealing with very large bit-widths. mod 2^n should be computed natively based on n instead of 2^n because we pre-populate an array with all values up to n. Suppose n is 10000, the array has size 10000.
2022-06-21 12:45:29 -07:00
Nikolaj Bjorner
f24c5ca99a
#6095
...
arrays that are interpreted using as-array should be reflected back to store expressions
2022-06-21 12:42:44 -07:00
Nikolaj Bjorner
d792d30e88
Update NativeContext.cs
...
TraceToFile does not correspond to the functionality of enable_trace. Z3_enable_trace tags a trace tag as input. It can be invoked multiple times with different tags. The debug tracing then shows logs with the corresponding tags.
2022-06-21 09:09:42 -07:00
Nikolaj Bjorner
b254f4086b
Separate out native static content for Java
...
Make it easier to add native methods for callbacks (for user propagator) #6097
The Java User propagator wrapper should define a base class with virtual methods that can be invoked from functions defined in NativeStatic.txt
2022-06-21 09:09:42 -07:00
Nuno Lopes
25e915fe95
fix #5990 : deadlock in the scoped_timer
...
Thanks to Felix Kohlgrueber for reporting the bug and for the analysis
2022-06-21 16:29:09 +01:00
Nikolaj Bjorner
911134b3c7
add new heuristic rc2bin (to be tested) to maxsat
...
The rc2bin heuristic is a hybrid of rc2 and binary maxres.
It follows the suggestion by Nina to use rc2 on large cores after a single maxres relaxation step; otherwise maxres (binary) on smaller cores. In the design space of possible hybrids, this variant chooses to always apply a single layer of maxres and then rc2 for large cores.
2022-06-20 11:50:25 -07:00
Clemens Eisenhofer
2fa60aa43c
Added function to select the next variable to split on (User-Propagator) ( #6096 )
...
* Added function to select the next variable to split on
* Fixed typo
* Small fixes
* uint -> int
2022-06-19 10:49:25 -07:00
Nuno Lopes
f08e3d70a9
attempt to fix windows build bot
2022-06-17 21:15:54 +01:00
Nuno Lopes
f3c00a0a03
attempt to fix windows build bot
2022-06-17 18:05:19 +01:00
Nuno Lopes
c3407fc304
fix build of tests
2022-06-17 17:11:18 +01:00
Nuno Lopes
d9fcfdab34
fix debug build
2022-06-17 14:35:33 +01:00
Nuno Lopes
73a24ca0a9
remove '#include <iostream>' from headers and from unneeded places
...
It's harmful to have iostream everywhere as it injects functions in the compiled files
2022-06-17 14:10:19 +01:00
Nuno Lopes
70bcf0b51d
reduce sizeof(enode) from 120 to 112 bytes by swapping the order of fields
...
Yes, those 8 bytes are yours now, use responsibly.
2022-06-17 12:07:15 +01:00
Nikolaj Bjorner
08c44bc6f6
remove unused static features
...
remove static features that tax solving time on large instances.
2022-06-16 15:40:01 -07:00
Nikolaj Bjorner
477e9625ef
Don't reset the cache between applications of replace
...
tactic/lia2card shows a huge slowdown because the same replace function is called on thousands of assertions. Each time the cache gets reset with thousands of entries - they are all the same.
So don't reset the cache just because... Instead reset the cache if m_refs grows large.
2022-06-16 15:40:01 -07:00
Nikolaj Bjorner
99b606b861
add logging
2022-06-16 15:40:00 -07:00
Olaf Tomalka
7fdcbbaee9
Add high level bindings for js ( #6048 )
...
* [Draft] Added unfinished code for high level bindings for js
* * Rewrote structure of js api files
* Added more high level apis
* Minor fixes
* Fixed wasm github action
* Fix JS test
* Removed ContextOptions type
* * Added Ints to JS Api
* Added tests to JS Api
* Added run-time checks for contexts
* Removed default contexts
* Merged Context and createContext so that the api behaves the sames as in other constructors
* Added a test for Solver
* Added Reals
* Added classes for IntVals and RealVals
* Added abillity to specify logic for solver
* Try to make CI tests not fail
* Changed APIs after a round of review
* Fix test
* Added BitVectors
* Made sort into getter
* Added initial JS docs
* Added more coercible types
* Removed done TODOs
2022-06-14 09:55:58 -07:00
Nikolaj Bjorner
3d00d1d56b
prepare for equality propagation from Grobner basis
...
Attempt to remedy performance regressions from the new solver core for NLA. It misses easy lemmas, presumably due to weaker bounds information.
2022-06-14 09:51:07 -07:00
Nikolaj Bjorner
8e2027107d
fix spacing
2022-06-14 09:51:06 -07:00
Nikolaj Bjorner
55421afd61
fix regression in top-sort fix #6060
2022-06-14 09:51:06 -07:00
Nikolaj Bjorner
637120ced5
Treat arguments to recursive functions as beta redexes
...
An argument to a recursive function would escape the scope of the function application when the recursive function definitions are unfolded. Therefore, such argument occurrences need not be considered for extensional equality / equality sharing.
This filter is mostly relevant for recursive functions that take a lambda expression as argument. Lambda expressions / arrays that occur in shared occurrences are checked for extensionality.
2022-06-14 09:51:06 -07:00
Nikolaj Bjorner
25ad5cb073
prepare ground for drup trim
...
By not deleting justifications in base level unit literals it is possible for drup-trim to inspect the trail for dependencies - which clauses were used to derive a literal.
2022-06-14 09:51:06 -07:00
Nikolaj Bjorner
35d4605425
remove spurious output to stdout
2022-06-14 09:51:06 -07:00
Nikolaj Bjorner
04f94d818f
fix #6091
2022-06-14 09:51:06 -07:00
Dominic Steinhöfel
46bc726391
Better error message for mismatching sorts in substitutions in z3.substitute ( #6093 )
2022-06-13 13:46:30 -07:00
Nikolaj Bjorner
470bf27d1d
drat
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-11 09:15:32 -07:00
Nikolaj Bjorner
9cd339841a
for Arie
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-10 18:07:54 -07:00
Nikolaj Bjorner
994dab8eb6
add pre-filter for F* use case
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-10 17:56:48 -07:00
Nikolaj Bjorner
8efa3c8ade
introduce notion of beta redex to deal with lambdas in non-extensional positions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-10 17:35:01 -07:00
Nikolaj Bjorner
b9b5377c69
add a way to supress lambdas
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-10 14:37:25 -07:00
Nikolaj Bjorner
5db133f875
add a way to supress lambdas
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-10 14:35:20 -07:00
Nikolaj Bjorner
97437bce4c
Update sat_params.pyg
2022-06-09 10:09:30 -07:00
Nikolaj Bjorner
828850f298
prepare for trim
2022-06-09 10:08:57 -07:00
Nikolaj Bjorner
c5847504ff
contains-partition
2022-06-08 12:20:45 -07:00
Nikolaj Bjorner
6a1193eebd
reorg if-then-else structure
2022-06-08 10:00:45 -07:00
Nikolaj Bjorner
72a6384353
time overflow before stack overflow
2022-06-08 10:00:16 -07:00
Nikolaj Bjorner
e468386359
#5656
...
guard __del__ operator by checking if library was unloaded.
2022-06-08 09:59:29 -07:00
Nikolaj Bjorner
dee6c30f1b
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-08 08:05:19 -07:00
Nikolaj Bjorner
80604c7bc5
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-08 07:00:59 -07:00
Nikolaj Bjorner
51ed13f96a
update topological sort to use arrays instead of hash tables, expose Context over Z3Object for programmability
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-08 06:28:24 -07:00
Nikolaj Bjorner
0e6c64510a
display model in add/del format
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-07 13:14:36 -07:00
Nikolaj Bjorner
35986f3979
fix #6084
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-07 11:29:57 -07:00
Nikolaj Bjorner
fe08c9976e
fix #6081
2022-06-06 11:29:11 -07:00
Nikolaj Bjorner
cc045debac
again
2022-06-06 11:23:18 -07:00
Nikolaj Bjorner
bb6c274ad3
fix #6085
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-06 10:00:08 -07:00
Nikolaj Bjorner
dca1dcca6d
ea
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-06 08:42:47 -07:00
Nikolaj Bjorner
b629960afb
proof format
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-06 07:18:33 -07:00
Nikolaj Bjorner
ea365de820
add cut
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-04 11:59:00 -07:00
Nikolaj Bjorner
da9382956c
use common functionality
2022-06-04 11:36:05 -07:00
Christoph M. Wintersteiger
f77608ed88
Add interpreted versions of unspecified cases of fp.to_ieee_bv and fp.to_real ( #6077 )
2022-06-04 17:53:23 +01:00
Christoph M. Wintersteiger
d722c73d4c
Fix corner case in MPF FMA ( #6075 )
2022-06-04 15:55:26 +01:00
Christoph M. Wintersteiger
6422a6b5a7
Fix rounding bug in to_fp ( #6074 )
2022-06-04 14:32:08 +01:00
Christoph M. Wintersteiger
cb67f90f1a
Merge pull request #6072 from wintersteiger/cwinter_warnings
...
Fix a couple compiler warnings
2022-06-04 11:40:14 +01:00
Christoph M. Wintersteiger
33454193d4
Change FP default rounding mode in the Python API
2022-06-04 08:45:52 +01:00
Christoph M. Wintersteiger
ed7db892f9
Fix a couple compiler warnings
2022-06-04 08:00:56 +01:00
Nikolaj Bjorner
f652c57bfe
fix proof checker
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-03 20:17:59 -07:00
Nikolaj Bjorner
3d1e03e00a
add start of self-contained proof checker for arithmetic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-03 09:11:02 -07:00
Nikolaj Bjorner
a9d70fca1a
fix #6061
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-31 19:09:10 -07:00
Nikolaj Bjorner
e9cff33feb
fix #5068
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-30 11:24:58 -07:00
Nikolaj Bjorner
15c47808d6
#6059
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-30 11:03:50 -07:00
Nikolaj Bjorner
da3f31697b
fix proof checking for bounds propagation
2022-05-30 10:18:16 -07:00
Nikolaj Bjorner
cb279fba2b
fix sign for binary propagation hints
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-29 10:32:05 -07:00
Nikolaj Bjorner
bffa7ff2f6
add hint verification, combine bounds/farkas into one rule
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-29 10:12:05 -07:00
Nikolaj Bjorner
63b9c4bdf0
for AG
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-28 18:49:27 -07:00
Nikolaj Bjorner
6abea2de2c
fix nightly, fix regression identified by Nuno
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-28 18:03:15 -07:00
Nikolaj Bjorner
b8532bec7e
remove pragma from cpp file
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-28 14:48:38 -07:00
Nikolaj Bjorner
35db0ae58b
workaround manylinux build failure (it is advertized as a compiler bug)
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-28 14:34:58 -07:00
Nikolaj Bjorner
48701826f1
indent
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-28 13:57:03 -07:00
Nikolaj Bjorner
8d980ea704
remove internal configuration
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-28 12:13:18 -07:00
Nikolaj Bjorner
dd46224a1d
use structured proof hints
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-28 09:37:41 -07:00
Nikolaj Bjorner
7da9f12521
expose description of global parameters #6048
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-27 08:50:40 -04:00
Nikolaj Bjorner
de892ed9f2
fix #6054
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-26 15:51:57 -04:00
Nikolaj Bjorner
f77037e9a5
expand select/store when I/J are values #6053
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-25 20:23:43 -04:00
Nikolaj Bjorner
4d8e4b5bd3
fix #6052
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-25 17:21:01 -04:00
Nikolaj Bjorner
8c95dff33b
cnf
2022-05-22 09:10:26 -04:00
Nikolaj Bjorner
c850259f89
rw
2022-05-22 07:54:27 -04:00
Nikolaj Bjorner
386c511f54
core opt
2022-05-21 10:27:37 -04:00
Nikolaj Bjorner
127af83c53
remove ad-hoc diagnostics
2022-05-21 10:27:37 -04:00
Nikolaj Bjorner
40fe472e95
nit
2022-05-18 13:23:33 -07:00
Nikolaj Bjorner
363b69f588
fix #6034
2022-05-16 16:44:13 -07:00
Nikolaj Bjorner
f6b2874d7c
update to take effect of def_API for callback functions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-16 10:30:54 -07:00
Nikolaj Bjorner
ca2497eecb
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-15 12:00:41 -07:00
Nikolaj Bjorner
186a3c58e5
merge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-15 12:00:25 -07:00
Nikolaj Bjorner
1028c80851
update pretty printer for recursive function filtering
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-15 11:59:41 -07:00
Arie Gurfinkel
7f62fa2b66
Sparse matrix kernel ( #6035 )
...
* Subtle bug in kernel computation
Coefficient was being passed by reference and, therefore, was
being changed indirectly.
In the process, updated the code to be more generic to avoid rational
computation in the middle of matrix manipulation.
* sparse_matrix: fixed handling of 0 in add_var() and add()
particularly in add_var(), without the fix the user is responsible for checking
coefficients for 0.
2022-05-13 17:30:35 -07:00
Nikolaj Bjorner
7497856ded
add ignore int to new arithmetic solvers
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-11 15:14:22 -07:00
Nikolaj Bjorner
b1aa6b260b
disable normalize
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-11 13:31:35 -07:00
Nikolaj Bjorner
6deb4dee37
disable normalize
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-11 13:30:50 -07:00
Nikolaj Bjorner
5aec9b32bd
check zero
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-11 10:13:07 -07:00
Nikolaj Bjorner
860d904699
check zero
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-11 10:11:17 -07:00
Nikolaj Bjorner
361155685c
ensure abs
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-11 09:09:00 -07:00
Nikolaj Bjorner
cbaa16df57
lcm normalization
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-11 09:03:57 -07:00
Nikolaj Bjorner
5ca3bc3212
kernel
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-10 15:48:06 -07:00
Nikolaj Bjorner
54648f6b50
add stats for binary clause creation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-10 14:58:15 -07:00
Nikolaj Bjorner
2928cc261c
fix
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-10 13:17:25 -07:00
Nikolaj Bjorner
805443c8ab
wip
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-10 11:17:34 -07:00
Nikolaj Bjorner
0557d72d1c
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-10 07:42:32 -07:00
Nikolaj Bjorner
6a8ac5f9b1
adding K
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-09 16:47:26 -07:00
Nikolaj Bjorner
ad2445e423
gauss jordan
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-09 16:33:15 -07:00
John Jones
361888f299
Generate bdist wheels for musllinux_1_1 ( #6025 )
2022-05-09 14:13:08 -07:00
Nikolaj Bjorner
dcc01b874a
prep for pragmas
2022-05-09 11:18:15 -07:00
Nikolaj Bjorner
6670cf0b65
na
2022-05-09 09:16:05 -07:00
Nikolaj Bjorner
fbf5e322dc
js
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-09 08:49:02 -07:00
Nikolaj Bjorner
4549ec7331
misc
2022-05-09 08:38:35 -07:00
Nikolaj Bjorner
da9ed82889
add decide callback
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-08 15:31:05 -07:00
Nikolaj Bjorner
8218f25222
add decide callback
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-08 15:30:03 -07:00
Nikolaj Bjorner
c8d12975c9
fixes for fresh
2022-05-08 12:49:04 -07:00
Nikolaj Bjorner
506f8f88aa
add user propagator functionality
2022-05-08 12:43:46 -07:00
Nikolaj Bjorner
1e7a9e3e61
fix #6023
2022-05-08 12:03:13 -07:00
Nikolaj Bjorner
97af3a6120
fix #6021
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-08 11:25:24 -07:00
Nikolaj Bjorner
cca49154ff
fix #6021
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-08 11:24:56 -07:00
Nikolaj Bjorner
7def610a69
build warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-08 10:31:11 -07:00
Nikolaj Bjorner
d58de2f8e4
java build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-08 10:20:32 -07:00
Nikolaj Bjorner
e2625cb760
safe
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-07 13:53:37 -07:00
Nikolaj Bjorner
3bf09b114a
safe
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-07 13:53:07 -07:00
Nikolaj Bjorner
04b0b3690d
js
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-07 12:46:52 -07:00
Nikolaj Bjorner
1e586888c9
patch js for fnptr
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-07 11:18:19 -07:00
Nikolaj Bjorner
14214c5a07
exposing user propagators over .Net
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-07 11:08:40 -07:00
Sacha Ayoun
ffbabf251d
enhance ocaml seq api ( #6010 )
...
Signed-off-by: Sacha Ayoun <sachaayoun@gmail.com>
2022-05-04 12:03:22 -07:00
Nikolaj Bjorner
5a685ba9b5
expose maxdiff
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-04 08:52:42 -07:00
Nikolaj Bjorner
367bfedab0
add min/max diff in final check
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-04 07:39:38 -07:00
Nikolaj Bjorner
c29cfa81ae
prep for max/min diff
2022-05-04 02:08:11 -07:00
Nikolaj Bjorner
87d2a3b4e5
map/mapi/foldl/foldli
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-04 01:10:18 -07:00
Nikolaj Bjorner
b3e0213cab
missing object ref
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-02 12:35:28 -07:00
Nikolaj Bjorner
be653dab0e
init value
2022-05-01 15:26:57 -07:00
Nikolaj Bjorner
d1f1e4ce34
selectively enable dual strengthening
2022-05-01 15:26:57 -07:00
Nikolaj Bjorner
98e1c86128
na
2022-05-01 15:26:57 -07:00
Nikolaj Bjorner
9cc5f6901a
na
2022-05-01 15:26:57 -07:00
Nikolaj Bjorner
b5c7f000de
add option to "rotate" cores during core finding
...
enable to find multiple cores in a round and at the same time facilitate rotation around satisfiable subsets to explore neighborhoods for improved assignments.
2022-05-01 15:26:56 -07:00
JohnLyu2
5a9b0dd747
Z3str3 Debug ( #6000 )
...
* z3str3 debug
* add comments of reference to bugs in the report
Co-authored-by: John Lu <z52lu@uwaterloo.ca>
2022-04-27 12:37:07 +02:00
Ryan Goulden
99e299b90c
ocaml: fix is_arithmetic_numeral and is_bv_numeral ( #6003 )
2022-04-27 12:36:09 +02:00
Nikolaj Bjorner
02d6f6a613
fix build for Z3_mk_datatype_sort
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-27 10:01:51 +01:00
Nikolaj Bjorner
81d97a81af
enable nested ADT and sequences
...
add API to define forward reference to recursively defined datatype.
The forward reference should be used only when passed to constructor declarations that are used in a datatype definition (Z3_mk_datatypes). The call to Z3_mk_datatypes ensures that the forward reference can be resolved with respect to constructors.
2022-04-27 09:58:38 +01:00
Nikolaj Bjorner
8e2f09b517
#5778 - ensure arrays used inside of extensionality function are treated as shared
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-25 17:17:59 +01:00
Nikolaj Bjorner
0a665b0fa0
#5778
2022-04-25 14:27:38 +01:00
Nikolaj Bjorner
489459a1f7
#5778
...
reprogram flush, mark clauses during reinit as non-redundant.
2022-04-25 11:22:00 +01:00
Kevin Gibbons
dc18b47967
automatically release wasm build ( #5997 )
2022-04-24 18:06:36 +01:00
Nikolaj Bjorner
24baf56e27
fix missing propagation on final
2022-04-24 16:29:25 +01:00
Kevin Gibbons
312e037458
wasm build: disable error handler ( #5996 )
...
* wasm: set error handler to no-op
* wasm: better wrapper for use in html
2022-04-24 11:04:08 +01:00
Victor
bd6b3027cd
Document gotcha with z3-js ( #5994 )
2022-04-23 19:52:35 +01:00
Nikolaj Bjorner
459cfc8eb4
fix #5993
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-23 19:33:55 +01:00
Nikolaj Bjorner
5a2c92f4af
format
2022-04-22 17:25:37 +01:00
Clemens Eisenhofer
81189d6fdd
Added bit2bool to the API ( #5992 )
...
* Fixed registering expressions in push/pop
* Reused existing function
* Reverted reusing can_propagate
* Added decide-callback to user-propagator
* Refactoring
* Fixed index
* Added bit2bool to the API
Fixed bug in user-propagator's decide callback
* Fixed typo
2022-04-22 09:54:21 +01:00
Nikolaj Bjorner
0dd0fd26d4
remove buggy prototype
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-21 10:44:49 +01:00
Nikolaj Bjorner
d9f3625f93
change default output to print objective value
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-20 17:11:46 +01:00
Nikolaj Bjorner
e3c35840bb
remove out
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-20 11:26:16 +01:00
Nikolaj Bjorner
ec57d3b15c
missing switch cases
2022-04-19 16:20:02 +01:00
Nikolaj Bjorner
5393f1d98f
#5980
2022-04-19 11:10:37 +01:00
Nikolaj Bjorner
a180254c1a
fix #5980
2022-04-19 11:10:20 +01:00
Nikolaj Bjorner
b7169e2a41
fix #5985
2022-04-19 07:54:55 +02:00
Nikolaj Bjorner
a1ead5f47d
#5986
...
add memory limit check to internalize
2022-04-19 07:31:40 +02:00
Nikolaj Bjorner
9b66d8600b
add shortcut to serialize/deserialize based on question at FV hangout
...
use case
```
from z3 import *
x, y = Ints('x y')
s = (x + y).serialize()
y = deserialize(s)
print(y)
```
2022-04-19 07:21:22 +02:00
Nikolaj Bjorner
09b0c4bc9d
fix #5988
2022-04-19 07:17:24 +02:00
Nikolaj Bjorner
df981666fd
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-18 16:27:46 +02:00
Nikolaj Bjorner
98c7069f75
add rewrite for hoisting multipliers over modular inverses
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-18 14:29:16 +02:00
Nikolaj Bjorner
c727e2d048
add rc2 option
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-18 10:31:56 +02:00
Nikolaj Bjorner
4a59ae41b3
fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-16 19:19:05 +02:00
Nikolaj Bjorner
7496f11542
na
2022-04-16 18:30:35 +02:00
Nikolaj Bjorner
b5309d5fd0
na
2022-04-16 16:42:57 +02:00
Nikolaj Bjorner
c131eb4db1
build fix
2022-04-16 16:42:45 +02:00
Nikolaj Bjorner
f4c500c519
fix build
...
reference types are not part of C
2022-04-16 15:16:53 +02:00
Nikolaj Bjorner
807121aa03
wip
2022-04-16 14:55:43 +02:00
Nikolaj Bjorner
8e70112832
Update z3.py
...
allow ading funcinterp to models
2022-04-15 23:31:15 +02:00
Simon Cruanes
11d992a335
wip: tweak GC further ( #5982 )
2022-04-15 20:08:39 +02:00
Clemens Eisenhofer
e11496bc65
Added decide-callback to user-propagator ( #5978 )
...
* Fixed registering expressions in push/pop
* Reused existing function
* Reverted reusing can_propagate
* Added decide-callback to user-propagator
* Refactoring
* Fixed index
2022-04-15 20:07:17 +02:00
Zachary Wimer
9ecd4f8406
MANIFEST.in will now include pyproject.toml ( #5979 )
2022-04-15 19:53:16 +02:00
Nikolaj Bjorner
c33611e9e0
include map for non vs builds
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-15 19:23:48 +02:00
Nikolaj Bjorner
cc36dd1e0d
include map for non vs builds
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-15 19:18:17 +02:00
Nikolaj Bjorner
3cc9d7f443
improve pre-processing
2022-04-15 12:55:26 +02:00
Nikolaj Bjorner
a634876180
sort muxes
2022-04-15 12:55:26 +02:00
Zachary Wimer
7d47e45c6b
Add a hacky patch so that Z3 on M1 hardware can link to libs properly ( #5974 )
...
* Add a hacky patch so that Z3 on M1 hardware can link to libs properly
* Update setup.py
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-15 09:57:51 +02:00
Nikolaj Bjorner
ddbe17d581
#5965
...
define the is_bool on ArithSortRef
2022-04-13 16:08:54 +02:00
Nikolaj Bjorner
3f5eb7fcf2
re-enable pre-process
2022-04-13 11:24:24 +02:00
Nikolaj Bjorner
c9fa00aec1
expose recursive functions with own op-code over API
2022-04-13 11:24:24 +02:00
Zachary Wimer
c0b455e010
Add cmake setup.py build dep ( #5972 )
...
* Add wheel as build dependency
* Add cmake as a python build dependency
* pyproject toml update
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-13 08:48:08 +02:00
Zachary Wimer
9834d7aae0
Setup.py fix dependencies ( #5971 )
...
* Add wheel as build dependency
* pyproject toml update
2022-04-13 08:31:24 +02:00
Audrey Dutcher
032768b0fc
setup.py: copy generated python files correctly ( #5975 )
2022-04-13 08:29:36 +02:00
Clemens Eisenhofer
b264e6c290
Reverted reusing can_propagate ( #5966 )
...
* Fixed registering expressions in push/pop
* Reused existing function
* Reverted reusing can_propagate
2022-04-12 12:29:53 +02:00
Nikolaj Bjorner
ac55e29a56
disable propagation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-11 22:23:42 +02:00
Nikolaj Bjorner
eb2dd92d37
Merge branch 'master' of https://github.com/z3prover/z3
2022-04-11 17:06:03 +02:00
Nikolaj Bjorner
c996a66da0
separate pre-processing, add callback parameter to push/pop in python API
2022-04-11 17:05:59 +02:00
Clemens Eisenhofer
b0d8b27f37
Fixed registering expressions in push/pop ( #5964 )
...
* Fixed registering expressions in push/pop
* Reused existing function
2022-04-11 16:50:13 +02:00
Frédéric Bour
f43d9d00d4
Z3_add_rec_def body is not a macro ( #5963 )
2022-04-11 13:38:20 +02:00
Clemens Eisenhofer
0b20a4ebf4
Added rewriting distinct with bitvectors to false if bit-size is too low ( #5956 )
...
* Fixed problem with registering bitvector functions
* Added rewriting distinct with bitvectors to false if bit-size is too low
* Removed debug output
* Incorporated Nikolaj's comments
* Simplifications
2022-04-09 21:46:21 +02:00
Nikolaj Bjorner
f55b233228
#5778
2022-04-09 12:06:39 +02:00
Nikolaj Bjorner
011c1b2dd2
remove refs to bare_str
2022-04-09 12:06:27 +02:00
Nikolaj Bjorner
405a26c585
allow adding constraints during on_model
2022-04-09 09:55:02 +02:00
Nikolaj Bjorner
005b8e3cf8
arc -> arch
2022-04-09 08:28:22 +02:00
Nikolaj Bjorner
c98eda03f7
nightly osx arm64 wheel
2022-04-09 06:55:31 +02:00
Nikolaj Bjorner
d6d9b25c68
Allow adding constraints in the model_eh callback
2022-04-08 17:12:20 +02:00
Nikolaj Bjorner
f3789e21a3
id doesn't use mk_util
2022-04-08 14:42:18 +02:00
Nikolaj Bjorner
1346a168a1
#5952
2022-04-08 07:00:53 +02:00
Nikolaj Bjorner
8c2909f52b
working on python make for arm
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-07 13:36:23 +02:00
Nikolaj Bjorner
0fa0feb979
allow add_expr during pop
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-06 16:27:10 +02:00
Nikolaj Bjorner
b0dce5b27d
remove debug asserts
2022-04-06 08:53:12 +02:00
Nikolaj Bjorner
2f63747c7b
#5778
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-06 08:17:27 +02:00
Nikolaj Bjorner
cebbc71330
#5778 ensure else value so that defaults align across equivalence class
2022-04-06 07:58:32 +02:00
fleisherdev
ac2523af82
Fix null ref on access of Entry[] contents ( #5947 )
...
Co-authored-by: jfleisher <jofleish@microsoft.com>
2022-04-06 05:37:51 +02:00
Nikolaj Bjorner
03a2d9a018
fix #5942
2022-04-03 11:03:28 -07:00
Nikolaj Bjorner
46cc54fbab
outdated warning
2022-04-03 07:55:51 -07:00
Nikolaj Bjorner
34272152bb
add stubs to control memory usage
2022-04-02 17:52:54 -07:00
Nikolaj Bjorner
4b495e4b96
nits
2022-04-02 17:50:45 -07:00
Nikolaj Bjorner
d0ef5948aa
nits
2022-04-02 17:49:03 -07:00
Nikolaj Bjorner
25feb0ebed
#5938 catch also rewriter_exception that can be raised on cancelation and memory pressure
2022-04-02 17:43:12 -07:00
Nikolaj Bjorner
ef28f0e2f0
#5778
...
deal with recursive calls to internalization with the same formula
2022-04-02 01:28:58 -07:00
Nikolaj Bjorner
2fedcbd41e
#5778
2022-04-02 01:27:56 -07:00
Nikolaj Bjorner
229ea569f1
#5778
2022-04-02 00:56:51 -07:00
Nikolaj Bjorner
97115e5ebd
#5778
...
add new clauses created during propagation to use-list
2022-04-02 00:14:59 -07:00
Nikolaj Bjorner
4cc33277fa
#5778
2022-04-01 14:27:40 -07:00
Nikolaj Bjorner
c7922d69ac
#5778
2022-04-01 14:17:45 -07:00
Nikolaj Bjorner
81084b8232
#5778 #5937
2022-04-01 13:07:17 -07:00
Nikolaj Bjorner
5154295202
#5932
2022-03-31 23:18:03 -07:00
Nikolaj Bjorner
28e94583da
break self recursion #5937
2022-03-31 21:49:08 -07:00
Nikolaj Bjorner
dd27f7e937
#5935
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-03-30 17:47:48 -10:00
Nikolaj Bjorner
431c3af409
fix #5929 - add parameter bv_le2extract to allow disabling the disassembly to extract
2022-03-27 18:23:41 -10:00
Clemens Eisenhofer
7bb969ab52
Fixed problem with registering bitvector functions ( #5923 )
2022-03-26 16:36:15 -10:00
Nikolaj Bjorner
3828130791
fix #5922 use 0u to help type inference
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-03-24 14:05:14 -10:00