Nikolaj Bjorner
0077ddf33c
try delay init for user propagator in smt_tactic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-03 09:45:07 -08:00
Nikolaj Bjorner
41aa7d7b60
stack
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-02 09:00:51 -08:00
Nikolaj Bjorner
bfd61fec00
enable user propagation on tactics
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-02 08:28:52 -08:00
Nikolaj Bjorner
71cbb160d2
fix regression from today, see #5676
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-01 14:29:53 -08:00
Nikolaj Bjorner
87aec8819f
fix #5687
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-01 10:08:29 -08:00
Nikolaj Bjorner
c6a5aa0cc4
try th_lemma, update documentation of api functions for creating strings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-01 09:21:02 -08:00
Nikolaj Bjorner
3b4f976118
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-30 19:15:03 -08:00
Nikolaj Bjorner
4daba290b1
change user propagation to apply scheme similar to theory_recfun
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-30 19:12:15 -08:00
Nikolaj Bjorner
3c1aedf219
fixing #5473
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-30 17:08:28 -08:00
Nikolaj Bjorner
9e51691285
add virtual destructor
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-29 20:02:12 -08:00
Nikolaj Bjorner
b5efb87118
base -> core
2021-11-29 19:55:10 -08:00
Nikolaj Bjorner
959f4c9440
rename files to theory_user_propagator
2021-11-29 19:44:58 -08:00
Nikolaj Bjorner
5857236f2f
introducing base namespace for user propagator
2021-11-29 19:41:30 -08:00
Nikolaj Bjorner
c083aa82ee
add debug information in user-propagate #5687
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-29 08:59:53 -08:00
Nikolaj Bjorner
1e9e52a58f
#5641
2021-11-29 08:59:53 -08:00
Lev Nachmanson
d50c4bfcc1
remove an unused var
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2021-11-28 09:44:50 -08:00
Nikolaj Bjorner
d50bfc6a50
#5641
2021-11-25 18:01:35 +01:00
Nikolaj Bjorner
833dd62623
fix #5681
2021-11-24 13:24:31 +01:00
Nikolaj Bjorner
e8f5a29c31
fix #5679
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-22 19:37:10 +01:00
Nikolaj Bjorner
fee4821106
include thread
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-19 21:06:07 +01:00
Nikolaj Bjorner
a7d24788c3
wasm build issue
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-19 20:45:36 +01:00
Nikolaj Bjorner
741c5f43f4
Merge branch 'master' of https://github.com/z3prover/z3
2021-11-19 11:03:08 -08:00
Nikolaj Bjorner
ca2c2bb802
ensure smt2log works with multi-threaded consumers, ease scenarios around #5655
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-19 11:02:50 -08:00
Nikolaj Bjorner
4928c28e63
fix #5675
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-19 08:42:32 -08:00
Nikolaj Bjorner
99d5215956
revert use of f format
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-19 00:01:19 -08:00
Nikolaj Bjorner
f83367a11e
mac builds
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-18 22:39:30 -08:00
Nikolaj Bjorner
518ef9f916
fix #5674
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-18 21:14:50 -08:00
Nikolaj Bjorner
c826b64e35
prepare release
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-16 09:41:51 -08:00
Nikolaj Bjorner
b6f7deacf4
fix #5663
2021-11-12 11:36:42 -08:00
Nikolaj Bjorner
3c16edc8d3
check for v1 == v2
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-12 09:11:17 -08:00
Nikolaj Bjorner
63ac2ee0d1
#5614 turn on / off options to get better performance.
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-11 17:54:46 -08:00
Nikolaj Bjorner
b28a8013fe
#5653
...
fix performance bottleneck in static features
2021-11-11 13:30:38 -08:00
Nikolaj Bjorner
3a9656bc59
fixing issues with user propagator from python
...
"fresh" remains broken (not working yet).
2021-11-07 17:04:11 -08:00
Nikolaj Bjorner
f2fcbc7cb7
capture values not reference
2021-11-07 13:43:56 -08:00
Nikolaj Bjorner
af2cc460a9
#5646
2021-11-03 08:53:48 -07:00
Nikolaj Bjorner
dd1e0fc561
#5643
2021-11-03 08:53:48 -07:00
Clemens Eisenhofer
091079e58c
Added user propagator example ( #5625 )
...
* Added user propagator example
* User propagator example code refactoring
(+ removed unused parameter warning)
* Moved user-propagator example to its own directory
2021-11-02 15:03:02 -07:00
Nikolaj Bjorner
87d4ce2659
working on #5614
...
there are some different sources for the performance regression illustrated by the example. The mitigations will be enabled separately:
- m_bv_to_propagate is too expensive
- lp_bound_propagator misses equalities in two different ways:
- it resets row checks after backtracking even though they could still propagate
- it misses equalities for fixed rows when the fixed constant value does not correspond to a fixed variable.
FYI @levnach
2021-11-02 14:55:39 -07:00
Nikolaj Bjorner
a94e2e62af
build warnings
2021-11-02 14:55:38 -07:00
Henrich Lauko
96671cfc73
Add and fix a few general compiler warnings. ( #5628 )
...
* rewriter: fix unused variable warnings
* cmake: make missing non-virtual dtors error
* treewide: add missing virtual destructors
* cmake: add a few more checks
* api: add missing virtual destructor to user_propagator_base
* examples: compile cpp example with compiler warnings
* model: fix unused variable warnings
* rewriter: fix logical-op-parentheses warnings
* sat: fix unused variable warnings
* smt: fix unused variable warnings
2021-10-29 15:42:32 +02:00
Alexander Traud
1d45a33163
fix one typo and two misunderstandings for doxygen ( #5633 )
2021-10-29 15:35:05 +02:00
Alexander Traud
d1592c6abf
fix misspelled \brief for doxygen ( #5632 )
2021-10-29 15:34:28 +02:00
Nikolaj Bjorner
4dad414161
fix performance regression after adding user declared functions to model
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-28 05:49:15 +02:00
Alexander Traud
f5f35f87d0
fix grouping for latest doxygen ( #5626 )
...
Since doxygen 1.8.16, opening and closing a group must not be done as
C comment but as doxygen command. In other words, not one but two
asterisk characters are required so that doxygen finds a group.
2021-10-27 23:46:31 +02:00
Nikolaj Bjorner
125eae06bd
#4869 load datatype parsing for HORN logic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-26 11:54:29 +02:00
Nikolaj Bjorner
61eb8d1908
add ref for regression
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-26 11:39:13 +02:00
Nikolaj Bjorner
aa5b4b8c77
strengthen contract for log_axiom_instantiation #5621
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-26 09:49:44 +02:00
Nikolaj Bjorner
bdecc25619
strengthen contract for log_axiom_instantiation #5621
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-26 09:49:44 +02:00
Margus Veanes
efcad5ff35
fixed nullability bug in the if-then-else info ( #5620 )
2021-10-26 09:11:07 +02:00
Nikolaj Bjorner
075769c4c0
try get_string contents again
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-25 16:03:40 +02:00
Nikolaj Bjorner
45681b4c6e
update API type annotation to make it OCaml friendly
2021-10-25 13:43:15 +02:00
Nikolaj Bjorner
3036b88f09
support threading for TRACE mode
2021-10-25 13:35:32 +02:00
Nikolaj Bjorner
3a3cef8fce
#5615 - update documentation and use non-encoded versions for ASCII characters in get_lstring
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-23 18:21:51 +02:00
Nikolaj Bjorner
7f41d6140f
use some suggestions from #5615
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-22 12:39:55 -04:00
Nikolaj Bjorner
051616385f
remove deprecated escape string from Julia bindings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-21 19:14:12 -04:00
Nikolaj Bjorner
f05ac8a429
updated C++ API for escaped and unescaped strings #5615
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-21 14:52:59 -04:00
Nikolaj Bjorner
05e7ed9637
add API to access unescaped strings, update documentation of Z3_get_lstring, #5615
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-21 11:30:03 -04:00
Nikolaj Bjorner
6eed885379
print bounded terms for better efficiency
2021-10-21 10:42:39 -04:00
Nikolaj Bjorner
13da6a02a6
add handling of quantifiers #5612
2021-10-20 12:27:56 -04:00
Nikolaj Bjorner
839a0852fe
Merge branch 'master' of https://github.com/z3prover/z3
2021-10-19 12:24:41 -04:00
Nikolaj Bjorner
86147d01ea
#5605
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-19 12:24:29 -04:00
Nikolaj Bjorner
f9dde2e8a4
#5605
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-19 12:21:54 -04:00
CEisenhofer
3557e0b0c5
Added eq/fixed/final functions in C++ user propagator as methods ( #5607 )
2021-10-19 10:48:31 -04:00
Nikolaj Bjorner
fc3a701888
push-pop
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-18 15:36:48 -07:00
Nikolaj Bjorner
d5e5dcfe45
add nff and auto-relevant
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-18 15:32:55 -07:00
Nikolaj Bjorner
bc2020a39b
#5604
...
retain array interpretation when available
2021-10-17 20:24:26 -07:00
Nikolaj Bjorner
115203e87c
fixes to sat.euf ematching #5573
2021-10-16 15:52:37 -07:00
Margus Veanes
f78546cd7c
fixed bug of computing butlast of a sequence ( #5602 )
2021-10-15 18:02:51 -07:00
Nikolaj Bjorner
fb9fa1b7d2
updated printer
2021-10-15 17:56:54 -07:00
Margus Veanes
cb120c93f4
Regex range bug fix ( #5601 )
...
* added a missing derivative case for nonground range
* further missing cases and a bug fix in re.to_str
2021-10-15 15:30:55 -07:00
Simon Cruanes
6302b864c8
tweak GC in OCaml bindings ( #5600 )
...
* feat(api/ml): use custom block hints to guide the GC
this forces the GC to collect garbage when a few _large_ objects
(solver, etc.) are dead. The current code would let arbitrarily many
such objects die and not trigger a GC (which would have to come from
OCaml code instead)
* tuning
* try to use caml_alloc_custom_mem with fake sizes
* try to fix leak by explicitly finalizing OCaml context
* chore: use more recent ubuntu for azure CI
* remove finalizer causing segfault in example
2021-10-14 12:46:14 -07:00
Nikolaj Bjorner
f60ed2ce92
#5591
2021-10-13 21:38:36 -07:00
Nikolaj Bjorner
7b341313d5
#5593
2021-10-13 17:50:56 -07:00
Nikolaj Bjorner
fd77f0c111
fix #5594
2021-10-13 17:17:05 -07:00
Nikolaj Bjorner
96e117d78c
Update smt_context.cpp
2021-10-12 17:10:12 -07:00
Nikolaj Bjorner
c15968aa9e
fix #4901
2021-10-12 17:10:04 -07:00
Nikolaj Bjorner
9a76bf0aa2
#5591
...
nth issue
2021-10-12 13:59:28 -07:00
Christoph M. Wintersteiger
58fd4fc860
Merge pull request #5550 from wintersteiger/cwinter_fpa_fixes
...
Assorted fixes for floats
2021-10-12 18:24:49 +01:00
Nikolaj Bjorner
52032b9ef8
#5467
2021-10-12 10:16:15 -07:00
Christoph M. Wintersteiger
b471ebdf1c
Revert "Fix off-by-one in fp.div bit-blasting. Inspired by #4841 but doesn't quite fix it."
...
This reverts commit f80fdb4ea3a762cfe95daa0321d9875cfa00c7ae.
2021-10-12 12:45:11 +00:00
Christoph M. Wintersteiger
738783a26c
Fix off-by-one in fp.div bit-blasting. Inspired by #4841 but doesn't quite fix it.
2021-10-12 12:45:11 +00:00
Christoph M. Wintersteiger
c24f438e51
Fix for mk_to_fp_float; pertains to #4841
2021-10-12 12:45:10 +00:00
Christoph M. Wintersteiger
00e8ea7962
Make terms that are internalized on the fly relevant
2021-10-12 12:45:10 +00:00
Christoph M. Wintersteiger
8e69f76784
Add additional equality in theory_fpa
2021-10-12 12:45:09 +00:00
Christoph M. Wintersteiger
f1acc4b78a
Make fpa2bv debug symbol names optional
2021-10-12 12:45:09 +00:00
Christoph M. Wintersteiger
515a2a771e
Whitespace
2021-10-12 12:45:09 +00:00
Christoph M. Wintersteiger
e8d6d97ba3
Refine fpa_decl_plugin::is_unique_value
2021-10-12 12:45:08 +00:00
Christoph M. Wintersteiger
12c32663c6
Fix error messsages
2021-10-12 12:45:08 +00:00
Nikolaj Bjorner
c3549ec784
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-11 11:03:45 -07:00
Nikolaj Bjorner
73102cffcb
fix #5589
2021-10-11 11:03:45 -07:00
Nikolaj Bjorner
75702c3631
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-11 11:03:45 -07:00
Nikolaj Bjorner
0fc9f1d46a
fix max/min length to handle concatenation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-09 16:20:32 -07:00
Andrew V. Jones
f1b8376739
Rename 'user' to 'user_solver' #5586 ( #5587 )
...
Issue #5586 reported that Android builds (targetting, e.g., x86) failed
to compile due to a conflict between:
* `struct user` in `sys/user.h`; and
* `namespace user` in z3's `user_solver.h`
This issue is resolved by renaming `namespace user` to `namespace
user_solver` (matching the header name) to avoid this conflict.
Reported-by: Jamie Collinson <jamiecollinson@gmail.com>
Signed-off-by: Andrew V. Jones <andrewvaughanj@gmail.com>
2021-10-09 15:07:37 -07:00
Nikolaj Bjorner
bfa960c2ce
fix internalize regression
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-08 14:48:17 -07:00
Margus Veanes
146f4621c5
Updated regex derivative engine ( #5567 )
...
* updated derivative engine
* some edit
* further improvements in derivative code
* more deriv code edits and re::to_str update
* optimized mk_deriv_accept
* fixed PR comments
* small syntax fix
* updated some simplifications
* bugfix:forgot to_re before reverse
* fixed PR comments
* more PR comment fixes
* more PR comment fixes
* forgot to delete
* deleting unused definition
* fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-08 13:04:49 -07:00
Nikolaj Bjorner
c0c3e685e7
disable all propagation until ematch incompleteness is fixed
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-05 11:25:35 -07:00
Nikolaj Bjorner
94cc4ead72
remove arith_lhs simplification from preamble tactic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-05 10:55:38 -07:00
Nikolaj Bjorner
33f4e65fa9
redo bindings/fingerprints
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-05 10:15:56 -07:00
Nikolaj Bjorner
281fb67d88
unit propagate with fingerprints
2021-10-04 20:01:46 -07:00
Nikolaj Bjorner
8a85cfdb12
fix #5579 -
...
It is only possible to reach this case when new assertions are created.
2021-09-30 09:32:34 -07:00
Nikolaj Bjorner
cbe7dd4a48
missing continue fixes unsound sat result from #5573
2021-09-29 14:26:09 -07:00
Nikolaj Bjorner
ff723f15ff
Update z3++.h
2021-09-29 12:19:02 -07:00
Nikolaj Bjorner
62fd22f555
disable macro finder tactic if there are recursive functions fix #5574
2021-09-29 09:33:52 -07:00
Nikolaj Bjorner
137e5c5263
fix tmp_eq
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-28 14:28:41 -07:00
Nikolaj Bjorner
67ae75bac7
fix tmp_eq
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-28 14:27:46 -07:00
Nikolaj Bjorner
da124e4275
tune q-eval and q-ematch
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-28 13:41:37 -07:00
Nikolaj Bjorner
92c1b600c3
tuning eval
2021-09-28 09:56:00 -07:00
Nikolaj Bjorner
2e176a0e02
count lazy bindings
2021-09-28 08:27:46 -07:00
Nikolaj Bjorner
3abecc3428
add extra commands to API parser
2021-09-27 14:19:43 -07:00
Nikolaj Bjorner
6c71baf77b
lifting iff to binary
2021-09-27 03:45:54 -07:00
Nikolaj Bjorner
d174f87c5e
#5532
2021-09-21 20:21:23 -07:00
Nikolaj Bjorner
18d1b368d1
#5532
2021-09-21 20:12:32 -07:00
Nikolaj Bjorner
cabd5b10fa
#5532
2021-09-21 18:56:55 -07:00
Nikolaj Bjorner
de20bffafe
import goodies from ps
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-21 11:13:03 -07:00
Nikolaj Bjorner
708602dfbb
fix #5560 - add a throttle on maximal size of bignums created for propagate-value lemmas
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-21 08:56:13 -07:00
Nikolaj Bjorner
2e96557827
fix #5560 - add a throttle on maximal size of bignums created for propagate-value lemmas
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-21 08:55:28 -07:00
Nikolaj Bjorner
2c266a96c8
#5545
2021-09-20 13:57:34 -07:00
Nikolaj Bjorner
1352aa06f3
#5532
2021-09-20 12:08:04 -07:00
Nikolaj Bjorner
0170f1f461
#5532
2021-09-20 11:39:16 -07:00
Nikolaj Bjorner
fd799089b7
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-20 11:19:26 -07:00
Nikolaj Bjorner
6f31d83633
fix #5541
2021-09-20 10:10:28 -07:00
Jamey Sharp
426306376f
CNF conversion refactoring ( #5547 )
...
* split sat2goal out of goal2sat
These two classes need different things out of the sat::solver class,
and separating them makes it easier to fiddle with their dependencies
independently.
I also fiddled with some headers to make it possible to include
sat_solver_core.h instead of sat_solver.h.
* limit solver_core methods to those needed by goal2sat
And switch sat2goal and sat_tactic over to relying on the derived
sat::solver class instead. There were no other uses of solver_core.
I'm hoping this makes it feasible to reuse goal2sat's CNF conversion
from places like the tseitin-cnf tactic, so they can be unified into a
single implementation.
2021-09-20 08:53:10 -07:00
Nikolaj Bjorner
d36c3faf76
#4880 add interpreted versions of to_bv functions for MBQI quantifier models
2021-09-17 14:23:14 +01:00
Nikolaj Bjorner
1fc7b63a80
...
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-16 21:59:54 +01:00
Nikolaj Bjorner
cef964fda3
fixes for model converter default case
2021-09-16 17:31:26 +01:00
Nikolaj Bjorner
fe3f139eb2
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-16 16:25:43 +01:00
Nikolaj Bjorner
c3c5c14ead
prepare for min/max i
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-16 16:23:10 +01:00
Nikolaj Bjorner
50375df8dc
enforce idempotency
...
bug reported by Clemens
2021-09-15 15:36:20 +01:00
CEisenhofer
c58b2f4a9c
Added character functions to API ( #5549 )
...
* Added character functions to API
* Changed names of c++ functions
2021-09-15 13:34:58 +01:00
Nikolaj Bjorner
9aad331699
#5546
...
try dampening
2021-09-14 10:32:53 +02:00
Nikolaj Bjorner
f13ccf8969
bv2char and char2bv with Clemens
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-13 16:09:03 +02:00
Nikolaj Bjorner
34f878fb97
make it easier to debug parallel
2021-09-10 07:09:22 +02:00
Nikolaj Bjorner
3e6ff768a5
fix regression bug in mam reported by Aseem
2021-09-10 07:09:22 +02:00
CEisenhofer
47fdd6c060
Added 16 bit string-encoding ( #5540 )
2021-09-09 11:35:16 +02:00
Nikolaj Bjorner
e70f501932
handle potential extra nodes from q_solver
2021-09-09 09:17:11 +02:00
Nikolaj Bjorner
c4d0ded7b7
#5532
2021-09-08 06:19:49 +02:00
Nikolaj Bjorner
8c406c161e
#5532 add blocking condition for recursion.
2021-09-07 12:28:18 +02:00
Nikolaj Bjorner
93415740b6
left over bugs #5532
...
disabling complete const rewriting (temporarily) as it can loop
2021-09-07 07:00:41 +02:00
Nikolaj Bjorner
be4df46f6f
#5532 remove unsound rewrite rule that was recently added
2021-09-07 06:42:24 +02:00
Nikolaj Bjorner
72f6271d82
#5532
...
bugs in:
- rewriting of 0-ary expressions was incomplete
- sharing annotations when a node has two theories attached it is shared
- sharing of const of an array
Remove unreadable part of pretty printer for lp solver.
2021-09-06 19:14:03 +02:00
Nikolaj Bjorner
3764eb1959
#5532
...
ensure re-internalization for predicates that are replayed.
Theory internalization is currently not considered in depth.
2021-09-05 00:24:34 -07:00
Nikolaj Bjorner
3021da87cf
#5532
2021-09-04 21:10:26 -07:00
Nikolaj Bjorner
9c91698201
#5532
2021-09-04 18:03:15 -07:00
Nikolaj Bjorner
976c0a391c
revisit as-array evaluation
2021-09-04 18:00:36 -07:00
Nikolaj Bjorner
38b82fa742
const rewriting revisited
2021-09-04 17:59:08 -07:00
Nikolaj Bjorner
051ede64e7
#5532
2021-09-04 09:48:46 -07:00
Nikolaj Bjorner
3de9162c7e
handle null more gracefully
2021-09-04 09:42:45 -07:00
Nikolaj Bjorner
9c5ef79701
#5532
2021-09-04 09:05:49 -07:00
Nikolaj Bjorner
18e4546404
modernize parameter defaults
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-03 17:42:36 -07:00
Nikolaj Bjorner
cdcfbeb6d8
#5532
...
remove "reflect" parameter from exposed options. It should be internal only.
2021-09-03 16:01:59 -07:00
Nikolaj Bjorner
0ddbbe9bd2
#5532
2021-09-03 15:41:52 -07:00
Nikolaj Bjorner
5633af76cc
#5532
2021-09-03 15:25:50 -07:00
Nikolaj Bjorner
a566c7307d
#5532
2021-09-03 12:33:04 -07:00
Nikolaj Bjorner
87f5b9282f
#5532
2021-09-03 12:20:23 -07:00
Nikolaj Bjorner
c4158ebc33
#5532
2021-09-03 12:02:57 -07:00
Nikolaj Bjorner
20a259cfaa
throw less #5519
2021-09-03 10:40:08 -07:00
Nikolaj Bjorner
af5c6e43b9
#5528
2021-09-02 11:21:57 -07:00
Nikolaj Bjorner
55285b2193
make it easier to iterate over arguments of an application
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-02 09:51:59 -07:00
Nikolaj Bjorner
e9a4a9a390
merge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-02 09:23:59 -07:00
Nikolaj Bjorner
edb26e7be7
Merge branch 'master' of https://github.com/z3prover/z3
2021-09-02 08:53:56 -07:00
Nikolaj Bjorner
02acc38c28
add extra checks that user-supplied assumptions are asserted
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-02 08:53:47 -07:00
Nikolaj Bjorner
e05ef8ece9
account for updating scoped state by goal2sat #5528
2021-09-02 04:20:19 -07:00
Nikolaj Bjorner
f4abe3db02
#5528
2021-09-02 03:13:46 -07:00
Nikolaj Bjorner
9e306e3b6e
more useful diagnostics
2021-09-01 20:50:35 -07:00
Nikolaj Bjorner
968717a532
follow on fix from #5528
...
the same bug is also undetected in the main solver
2021-09-01 20:49:39 -07:00
Nikolaj Bjorner
6907d30717
#5528
2021-09-01 20:44:00 -07:00
Nikolaj Bjorner
a74c01c8b9
#5528
2021-09-01 20:39:54 -07:00
Nikolaj Bjorner
cf9e55fa96
#5516
...
expose ability to expand select/store and select/ite (lambdas are always expanded) during pre-processing for N.P. Lopes.
2021-09-01 17:44:17 -07:00
Nikolaj Bjorner
ba68fba419
build
2021-09-01 17:10:23 -07:00
Nikolaj Bjorner
0c53c139da
add to_string method to make it easier to use without <<
2021-09-01 15:37:58 -07:00
Nikolaj Bjorner
7ce4be8455
#5528
2021-09-01 14:01:15 -07:00
Nikolaj Bjorner
a7bc4719c0
fix #5526
...
when propagation claims progress, but is a no-op.
2021-09-01 11:45:21 -07:00
Nikolaj Bjorner
8bdc8d0e1a
Update solver_subsumption_tactic.h
...
use naming convention with - instead of _ for tactics
2021-09-01 11:35:06 -07:00
Nikolaj Bjorner
a3ba4e1366
#5528
2021-09-01 11:34:44 -07:00
Nikolaj Bjorner
f91c3d9fd6
round-tripping escapes, again #5519
2021-08-31 20:36:38 -07:00
Nikolaj Bjorner
90f98d5791
fix part of #5519
...
generation of escape sequences for output was not handling non-printable character ranges correctly and also not offsetting hexadecimal characters right.
2021-08-31 20:06:06 -07:00
Nikolaj Bjorner
7c782a7ef8
#5518
...
patch a gaping hole in recfun
2021-08-31 19:49:18 -07:00
Nikolaj Bjorner
1426390aec
#5518
2021-08-31 16:38:27 -07:00
Nikolaj Bjorner
ab2baa764c
#5518
...
@wintersteiger
This example exposes a bug in is_unique_value
```
(assert (= (fp.to_real ((_ to_fp 8 24) (_ bv4286579200 32))) (fp.to_real ((_ to_fp 8 24) (_ bv4286578944 32)))))
(check-sat)
```
It returns true for fp representations that map to NaN. It can only return true for fp values that are unique relative to having no other bit-vector representation so not corresponding to an equivalence class of values such as NaN.
I am having it return false. If there is a way to refine the test it will catch some earlier inferences.
2021-08-31 14:52:45 -07:00
Nikolaj Bjorner
34c8f598a5
#5518
2021-08-31 14:21:10 -07:00
Nikolaj Bjorner
07bbd026ac
#5518
2021-08-31 13:02:54 -07:00
Nikolaj Bjorner
0b063f7903
#5518
2021-08-31 12:50:24 -07:00
Nikolaj Bjorner
535f442655
#5518
...
regression from adding lambdas in model
2021-08-31 12:13:27 -07:00
pcarbonn
cd2701da0c
fix the use of ctx in Q() ( #5521 )
...
* fix #4956
* fix: use ctx in Q()
2021-08-31 10:01:47 -07:00
Nikolaj Bjorner
148cb83b0d
#5482 fix default case for model construction
...
port mg_merge functionality from theory_array_base that ensures default values in arrays congruent modulo stores are the same
2021-08-29 17:30:39 -07:00
Nuno Lopes
9b5ec6d004
logging cleanup
...
move everything out-of-line as common path doesn't log
fix some race conditions on file ptr vs enable_logging vars
2021-08-29 12:24:19 +01:00
Nuno Lopes
9a172939e0
fix logging in Z3_fpa_get_[es]bits
2021-08-29 10:58:54 +01:00
Nikolaj Bjorner
b1bc890992
fix #5515
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-28 18:05:51 -07:00
Nikolaj Bjorner
e7fcbd9563
bail on first model validation failure
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-28 17:08:34 -07:00
Nikolaj Bjorner
4f064ee5d6
simplify based on comment from Jamie Sharp #5512
2021-08-28 17:08:34 -07:00
Nuno Lopes
e5a2f08cc9
fix logging of Z3_mk_lambda and Z3_mk_lambda_const
...
In preparation of a bug report just for you @NikolajBjorner
2021-08-29 00:37:45 +01:00
Nikolaj Bjorner
e3a83dd0dd
Integrate fixes from #5512
...
Pull request #5512 identifies a in line 1139 where the const-case-multiplier constructor returns false and does useless work.
In this update we also remove mk_const_multiplier because code path is subsumed by mk_const_case_multiplier.
2021-08-28 10:46:45 -07:00
Nikolaj Bjorner
992daa6d2e
#5482
...
remove overly permissive filter on select_store axiom
2021-08-27 21:03:30 -07:00
Nikolaj Bjorner
e9a30385cf
remove wtm and booth
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-27 15:32:06 -07:00
Jamey Sharp
cd7a826083
bit_blaster unit tests for adder and multiplier ( #5514 )
...
These tests cover a mix of constant and non-constant input bits.
2021-08-27 14:19:12 -07:00
Nikolaj Bjorner
8f306c6a8f
handle constants
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-27 11:59:41 -07:00
Nikolaj Bjorner
09696e989e
add missing lambda defs per #5509
...
the result is now unknown because the nested expression contains exists, which doesn't get replaced by universal quantifier which is assumed by the legacy core.
The legacy core should not depend on universal quantifiers only, but fixing this is a risk. Workaround is to rewrite goals using forall only (replace exists by de-Morgan dual).
2021-08-27 11:57:26 -07:00
Nikolaj Bjorner
9790a8aa43
#5507
...
can't use auto-config if there are no assertions. Auto-config only works properly for one-shot mode since theories aren't loaded on demand in this solver.
2021-08-27 09:42:40 -07:00
Nikolaj Bjorner
828fc72754
types
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-26 18:55:53 -07:00
Nikolaj Bjorner
d6848175eb
re-add API for creating propagator from a context for "fresh"
2021-08-26 18:12:40 -07:00
Nikolaj Bjorner
f7c1ed8273
missing this
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-26 10:41:37 -07:00
Nikolaj Bjorner
4d39af3d7b
#5507 missing init
2021-08-26 09:37:06 -07:00
Nikolaj Bjorner
07c26208fa
regressions from previous push
2021-08-25 18:30:50 -07:00
Nikolaj Bjorner
2daf569da6
update Bool rewriter to pull negations up
2021-08-25 17:50:49 -07:00
Nikolaj Bjorner
e6264a80ff
extend macro detection to negated equivalences #5496
2021-08-25 17:47:30 -07:00
Nikolaj Bjorner
f03d756e08
missing rewrite exposed by #5498
2021-08-25 06:34:27 -07:00
Nikolaj Bjorner
17663acf75
#5482 other relevancy tracking
2021-08-25 05:59:42 -07:00
Nikolaj Bjorner
e75b5e9513
don't copy "true"
2021-08-25 05:59:42 -07:00
Nikolaj Bjorner
037c93b258
#5482
2021-08-25 05:59:42 -07:00
Nikolaj Bjorner
7bae297297
#5482
...
add unit propagation
2021-08-24 11:24:31 -07:00
Nikolaj Bjorner
26db68bf2c
#5482
2021-08-24 11:15:52 -07:00
Nikolaj Bjorner
e5b6cd36f0
use datatype name instead of instantiation for cycle detection #5482
2021-08-24 11:14:41 -07:00
Nikolaj Bjorner
e90ec457c3
#5482
...
non-termination (stack overflow) bug in recursive comparison
2021-08-24 09:49:36 -07:00
Nikolaj Bjorner
5fa1b0b09f
update project description #5503
2021-08-24 09:48:33 -07:00
Nikolaj Bjorner
23b995d3b5
#5499
...
throw exception when dividing by a small 0
2021-08-24 08:52:20 -07:00
Nikolaj Bjorner
dd91cfb47e
#5482
...
update temp variables
2021-08-23 22:21:52 -07:00
Nikolaj Bjorner
592c53e46d
char sort
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-23 20:45:26 -07:00
Nikolaj Bjorner
170ef1dcca
add character sort to Python API and allchar function to API for ease. #5500
2021-08-23 20:02:50 -07:00
Nikolaj Bjorner
4b3b4b95d9
missing
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-23 10:03:34 -07:00
Nikolaj Bjorner
2a682e4b13
#5482
...
tricky one
2021-08-23 10:01:53 -07:00
Nikolaj Bjorner
1975e486ee
finally expose some easier to use basics could be used in cases such as #5496
2021-08-21 21:22:54 -07:00
Nikolaj Bjorner
aa05298950
fix #5491
2021-08-19 21:12:27 -07:00
Nikolaj Bjorner
15e3e81cb5
remove likely culprit for #5493
...
@zwimer: I had to remove a different move constructor before in the same API due to a different bug that the coverage tool exposed. I was unable to reproduce the bug reported in #5493 in my environment, but the interaction with reference counting and move constructors is sufficiently opaque that I rather not have to fix more bugs introduced with move constructors in the API. I am therefore removing also this use of && and maybe this fixes #5493
2021-08-19 21:08:20 -07:00
Nikolaj Bjorner
d0e210849f
#5454 again
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-19 03:06:23 -07:00
Nikolaj Bjorner
adcdd11afc
#5454 again
2021-08-18 13:32:51 -07:00
Nikolaj Bjorner
1db9f9a3b5
try vscode from github integration
2021-08-18 11:02:02 -07:00
Nikolaj Bjorner
d980ee0533
fix regression in FPNumRef sign
2021-08-18 10:00:22 -07:00
Nikolaj Bjorner
b3db9a1cd5
#5488
2021-08-18 08:30:08 -07:00
Nikolaj Bjorner
5c9f4dc4d7
#5486 - improve type elaboration by epsilon to make common cases parse without type annotation
2021-08-17 16:43:36 -07:00
Nikolaj Bjorner
7f88cfe727
build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-17 10:10:20 -07:00
Nikolaj Bjorner
1884ad5b2f
expose method for updating python model for constants
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-17 09:09:04 -07:00
Nikolaj Bjorner
34fc0276e9
Update array_axioms.cpp
2021-08-16 17:52:37 -07:00
Nikolaj Bjorner
749d1ab305
remove dependencies on stale component
2021-08-16 17:52:36 -07:00
Nikolaj Bjorner
c8a83749dd
#5484
2021-08-16 11:19:22 -07:00
Nikolaj Bjorner
904c6e21b1
modify #5454
2021-08-16 03:29:40 -07:00
Nikolaj Bjorner
429e5ed0cd
#5454
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-15 19:07:37 -07:00
Nikolaj Bjorner
3d13c0335f
#5454
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-15 18:40:05 -07:00
Nikolaj Bjorner
6a3ba64afe
#5454
...
@wintersteiger: added code review comment to theory_fpa. The bug seen in #5454 doesn't surface with theory_fpa, though.
2021-08-15 16:48:28 -07:00
Nikolaj Bjorner
fe4c48e14c
reorder fields
2021-08-15 12:29:43 -07:00
Nikolaj Bjorner
bebf2d6a52
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-15 00:24:43 -07:00
Nikolaj Bjorner
b7d4501bc3
widen scope of der #5480
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-15 00:22:34 -07:00
Nikolaj Bjorner
2704fb5fd5
expose n-ary xor
2021-08-14 10:52:09 -07:00
intrigus-lgtm
35698c650d
Add AssertSoft String overload for Java Api ( #5475 )
...
This adds a String overload for AssertSoft.
Previously only integer weights could have been used,
limiting the user. With Strings the user can now use
e.g. Java's BigInteger class converted to a String instead.
2021-08-12 09:18:18 -07:00
Nikolaj Bjorner
b016465ad2
#5454
2021-08-11 20:31:53 -07:00
Nikolaj Bjorner
fea14245a0
#5454
2021-08-11 19:43:42 -07:00
Nikolaj Bjorner
46107022f7
#5454
2021-08-11 17:06:42 -07:00
Nikolaj Bjorner
fde8808a40
#5454
2021-08-11 16:59:46 -07:00
Nikolaj Bjorner
8faad26c3c
#5454
2021-08-11 09:46:35 -07:00
Nikolaj Bjorner
178262fc12
#5454
2021-08-11 09:30:03 -07:00
Nikolaj Bjorner
496ec5f2b4
#5454
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-11 05:00:02 -07:00