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