Christoph M. Wintersteiger
|
cc04fdbd70
|
Added eager ackermannization to QF_FP, so that small numbers of unspecified operators are eliminated upfront.
|
2016-03-17 17:52:26 +00:00 |
|
Nuno Lopes
|
f5c4800eec
|
reduce-args: last fix for may_be_unique to support quantified variables in arbitrary exprs
|
2016-03-17 15:29:48 +00:00 |
|
Nuno Lopes
|
facb421398
|
reduce-args: fix unsoundness 2: f(v + 2), where b is quantified
|
2016-03-17 13:27:07 +00:00 |
|
Nuno Lopes
|
aed4619066
|
reduce-args: fixed unsoundness introduced in my previous commit
skip an UF arg if it's quantified
e.g. forall a . f(a, b) -> f(b) (but not f)
|
2016-03-17 13:14:43 +00:00 |
|
Christoph M. Wintersteiger
|
cdc8e1303a
|
Bugfix for fp.to_*_unspecified.
Fixes #507
|
2016-03-16 16:16:29 +00:00 |
|
Christoph M. Wintersteiger
|
99d7a47f82
|
Bugfixes for unspecified results from fp.to_* (models are still incomplete).
Relates to #507
|
2016-03-15 21:45:54 +00:00 |
|
Nikolaj Bjorner
|
3dfc0a93f6
|
Merge branch 'master' of https://github.com/Z3Prover/z3
|
2016-03-13 12:09:25 -04:00 |
|
mikolas
|
419e2c4899
|
Inc sat for ackr.
|
2016-03-10 17:36:06 +00:00 |
|
Nuno Lopes
|
d6c3260db7
|
reduce_args_tactic: make it aware that 'a + const' may be a unique value in bv theory
it allows us to remove UFs that are of the form f(a + 1), f(a + 2), etc..
|
2016-03-10 10:15:09 +00:00 |
|
Nikolaj Bjorner
|
2354e747bf
|
Merge branch 'master' of https://github.com/Z3Prover/z3
|
2016-03-09 21:33:16 -08:00 |
|
Nikolaj Bjorner
|
3d7eb12117
|
tracking use of assumptions in tactics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2016-03-09 21:33:08 -08:00 |
|
Nikolaj Bjorner
|
6ad6998c57
|
Merge branch 'master' of https://github.com/Z3Prover/z3
|
2016-03-09 15:53:16 -08:00 |
|
Nikolaj Bjorner
|
03a0a6f6a1
|
refactor occurrence utility for common use (to be used in ctx_simplifier) per Nuno's suggestion
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2016-03-09 15:53:02 -08:00 |
|
martin-neuhaeusser
|
c7a7cc74fa
|
Fix bug in ufbv tactic that enabled ackermannization even if unsat core or proof generation are requested
|
2016-03-09 14:06:39 +01:00 |
|
Nikolaj Bjorner
|
5994c5a948
|
fix partial model tracking over cancellation/exceptions, reported by August Shi. Fix regression test for fp-to-real, reset the pre-processor in inc_sat_solver on exceptions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2016-03-07 16:42:29 -08:00 |
|
Nikolaj Bjorner
|
640308b546
|
make proto-model evaluation use model_evaluator instead of legacy evaluator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2016-03-05 10:27:19 -08:00 |
|
Nikolaj Bjorner
|
70f13ced33
|
make proto-model evaluation use model_evaluator instead of legacy evaluator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2016-03-05 10:14:15 -08:00 |
|
Christoph M. Wintersteiger
|
9dfc2bc61e
|
Fixed memory leaks in fpa2bv converter.
Fixes #480
|
2016-03-05 16:47:08 +00:00 |
|
Christoph M. Wintersteiger
|
fedc6d4754
|
Fixed memory leak in fpa2bv tactic.
|
2016-03-05 12:54:36 +00:00 |
|
Nuno Lopes
|
62e46aacd9
|
bv_bounds: make may_simplify more precise to skip exprs with just 1 bound expr
speedups up to 3x in selected benchmarks
|
2016-03-01 11:31:08 +00:00 |
|
Nikolaj Bjorner
|
4a15d756d7
|
uint64_t -> uint64 for cross platform
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2016-02-29 22:16:03 -08:00 |
|
Nuno Lopes
|
43202572ee
|
bv_bounds: switch from rational to uint64
this limits the analysis to 64-bit BVs, but gives a speedup of up to one order of magnitude
|
2016-02-29 17:23:54 +00:00 |
|
Nuno Lopes
|
c1eb1cc3f2
|
bv_bounds: improve perf of push/pop
|
2016-02-28 20:07:39 +00:00 |
|
Nuno Lopes
|
e7a360ca08
|
ctx_simplify: remove virtual push() method
|
2016-02-28 17:57:40 +00:00 |
|
Nuno Lopes
|
51687b2be7
|
bv_bounds: ensure (bvule x maxuint) is simplified to true
|
2016-02-28 10:56:48 +00:00 |
|
Nuno Lopes
|
97d6098d00
|
bv_bounds: make may_simplify() more aggressive for the common case of a single comparison
fix expr_has_bounds to handle cases like (bvadd (ite c t e) ...)
|
2016-02-25 19:41:01 +00:00 |
|
Nuno Lopes
|
c693c990df
|
bv_bounds: speedup up to 10x in larger formulas
introduce a may_simplify() function to short-circuit evaluation of expression trees that are guaranteed to not be simplifiable
|
2016-02-25 16:53:35 +00:00 |
|
Nuno Lopes
|
c1aa33339d
|
bv_bounds: early exit in is_bound in case the expr is not boolean
~2% speedup
|
2016-02-25 09:32:10 +00:00 |
|
Nuno Lopes
|
64888b6b19
|
ctx_simplify: fix bug in simplification of or exprs
this triggered when the or covers the whole space -> true
|
2016-02-23 10:37:01 +00:00 |
|
Nuno Lopes
|
12458b1a84
|
remove dead code in qfufbv
|
2016-02-22 10:22:56 +00:00 |
|
Nikolaj Bjorner
|
63c138c08e
|
add option to enable equality propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2016-02-21 11:16:13 -08:00 |
|
Nikolaj Bjorner
|
d4f41c0420
|
add goal context for simplifier, disable equality creation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2016-02-20 10:13:24 -08:00 |
|
Nuno Lopes
|
7d3af70a63
|
ctx-simplify: fix mem leak of simplifier
|
2016-02-19 11:08:01 +00:00 |
|
Nuno Lopes
|
c618838ed9
|
bv_bounds: fix crash in push() when realloc happened
|
2016-02-19 11:06:22 +00:00 |
|
Nuno Lopes
|
121b3b60f3
|
bv_bounds/ctx_simplify: improve handling of (ite x a b) where (not x) is proved to be false
|
2016-02-19 09:42:42 +00:00 |
|
Nuno Lopes
|
d32b4c71d1
|
[bv_bounds] introduce a tight bit in intervals to denote they are tight (over and under approx)
use this to ensure certain transformations remain sound
|
2016-02-18 15:53:11 +00:00 |
|
Nuno Lopes
|
8718c1c99f
|
bv_bounds: simplify negated expressions as well
|
2016-02-17 19:14:02 +00:00 |
|
Nuno Lopes
|
a4cfcd4550
|
bv_bounds: fix bug in interval intersection for non-wrapping disjoint values
|
2016-02-17 16:32:43 +00:00 |
|
Nuno Lopes
|
ac20d8bc11
|
bv_bounds: fix intersection of wrapped intervals
e.g., [117, 115] /\ [115, 113] -> [115, 113]
|
2016-02-17 15:41:12 +00:00 |
|
Nuno Lopes
|
98a92b9255
|
bv_bounds tactic: change representation to intervals
Code by myself and Nikolaj Bjorner
|
2016-02-17 10:02:40 +00:00 |
|
Nuno Lopes
|
c05a0dfa61
|
revert my previous attempt to simplify the destructor of ctx-simplify
there can be assertions at level 0
|
2016-02-16 13:10:17 +00:00 |
|
Nuno Lopes
|
293566d464
|
ctx-simplify: simplify destructor
|
2016-02-16 09:53:04 +00:00 |
|
Nuno Lopes
|
98c5a5c86c
|
move ctx_propagate_assertions class to .cpp file
|
2016-02-16 09:34:45 +00:00 |
|
Nikolaj Bjorner
|
07953342ac
|
Merge branch 'master' of https://github.com/Z3Prover/z3
|
2016-02-15 17:29:54 -08:00 |
|
Nikolaj Bjorner
|
d3805bbdf6
|
fix location of level retrieval
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2016-02-15 17:29:46 -08:00 |
|
Nuno Lopes
|
96f6bf7028
|
ctx_simplify: simplify ite if then/else values become equal
|
2016-02-15 12:06:20 +00:00 |
|
Nikolaj Bjorner
|
8fc58e1ace
|
propagate bounds implementation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2016-02-13 02:07:41 +00:00 |
|
Nikolaj Bjorner
|
d7186eede8
|
bv bounds tactic for Nuno
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2016-02-13 00:13:16 +00:00 |
|
Nikolaj Bjorner
|
e484fc365d
|
add outline of bv bounds tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2016-02-12 22:57:47 +00:00 |
|
Nikolaj Bjorner
|
45999b254c
|
hoist simplifier functionality out of context loop to allow plugging in other contextual simplification methods
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2016-02-12 18:58:37 +00:00 |
|