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
1f4a7c5101
logging: don't call the returned function twice (one for log, one for return)
...
Z3_simplify() does RETURN_Z3(simplify(...)), hence the function was being called twice
it turns out simplify is not idempotent, so calling it twice can result in different results
thus breaking the log.
2021-08-29 11:06: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