Christoph M. Wintersteiger
ad9127690d
Merge branch '4tXJ7f-fix_build'
2016-03-01 14:05:30 +00:00
Christoph M. Wintersteiger
5c35a07a46
Merge branch 'master' of https://github.com/Z3Prover/z3 into 4tXJ7f-fix_build
...
# Conflicts:
# src/math/automata/symbolic_automata_def.h
2016-03-01 14:05:19 +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
Nuno Lopes
33431ef922
fix build with gcc
2016-03-01 10:02:24 +00:00
Nuno Lopes
10ea36bfed
fix build with gcc
2016-03-01 10:00:58 +00:00
Andres Notzli
91d6b2cbbb
[Z3py] Consistent behavior of eq and ne for FP
...
Before, x == y and x != y were returning inconsistent expressions (i.e.
`Not(x == y)` was not the same as `x != y`):
>>> x = FP('x', Float32())
>>> y = FP('y', Float32())
>>> (x == y).sexpr()
'(= x y)'
>>> (x != y).sexpr()
'(not (fp.eq x y))'
`=` does not have the same semantics as `fp.eq` (e.g. `fp.eq` of +0.0
and -0.0 is true while it is false for `=`).
This patch removes the __ne__ method from FPRef, so `x == y` and `x !=
y` use the inherited operations while fpEQ and fpNEQ can be used to
refer to `fp.eq(..)`/`Not(fp.eq(..))`.
2016-03-01 00:21:10 -08:00
Nikolaj Bjorner
830a99aab4
finish minimization
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-01 00:04:03 -08:00
Andres Notzli
570bc3c9c1
Fix build
...
Previous commits seem to have removed some variable declarations, so the
build did not work. This patch reintroduces the variables.
2016-02-29 23:41:33 -08: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
Nikolaj Bjorner
b90bc4e685
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-29 21:15:44 -08:00
Nikolaj Bjorner
3b6eef05c9
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-29 20:23:29 -08:00
Nikolaj Bjorner
6cf76f2113
remove references to _DEBUG use Z3DEBUG instead
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-29 20:23:20 -08:00
Nikolaj Bjorner
6f45970b6e
Merge pull request #466 from 4tXJ7f/patch-1
...
Fix documentation for floating-point comparisons
2016-02-29 20:22:57 -08:00
Andres Nötzli
c9269c1983
Fix documentation for floating-point comparisons
2016-02-29 19:12:14 -08:00
Nikolaj Bjorner
7ac5e67538
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-29 17:04:32 -08:00
Nikolaj Bjorner
c6c84dd59a
update documentation help to be inline with fpLT. Issue #465
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-29 17:04:26 -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
Nikolaj Bjorner
9efc7f4aea
turn on model completion in validation code
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-29 09:06:20 -08:00
Nikolaj Bjorner
d89c39cbe2
apply t()
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-29 08:36:25 -08:00
Nuno Lopes
006dc147a8
fix build with gcc 5
2016-02-29 14:34:48 +00:00
Nikolaj Bjorner
7656adc483
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-28 17:05:52 -08:00
Nikolaj Bjorner
df2d7e7628
add intersection using symbolic automata facility
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-28 17:05:12 -08: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
Nikolaj Bjorner
4cf72e23e6
fix python 3 compat
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-27 09:58:45 -08:00
Nikolaj Bjorner
e659845bc0
tune handling of contains, avoid redundant equalities, merge use of indexof.left/right with contains.left/right adding only least-ness constraints in the context of index
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-27 09:56:11 -08:00
Nikolaj Bjorner
1c630ccc9a
Merge branch 'master' of https://github.com/Z3Prover/z3 into HEAD
2016-02-26 18:15:57 -08:00
Nikolaj Bjorner
ce8862d415
fix bug in conflict clause generation in seq-branch-variable
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-26 18:15:45 -08: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
6563e458f0
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-25 16:53:45 +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
d642d5fe4c
API: add smt.logic parameter to enable setting the logic through the API
...
currently only Z3_solver_set_params() is supported
logic has to be set before solver first usage or before solver reset
2016-02-25 09:47:51 +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
Nikolaj Bjorner
4c408165ab
Merge branch 'master' of https://github.com/Z3Prover/z3 into HEAD
2016-02-24 08:55:28 -08:00
Nikolaj Bjorner
5679fb5d6b
experimenting with alternative prefix encodings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-24 08:55:22 -08:00
Nikolaj Bjorner
4e7a867cd9
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-23 18:42:01 -08:00
Nikolaj Bjorner
d5383e2387
fix bug in definition of rewrite rule for replace, tighten constraints for tightest-prefix
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-23 18:41:56 -08:00
Nikolaj Bjorner
8c68aed69e
Merge branch 'master' of https://github.com/Z3Prover/z3 into HEAD
2016-02-23 08:11:09 -08: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
8c538fd3f0
setting partial equivalence priority lower so that it doesn't intefere with inlining (partial fix to the fact that inlining will remove such implicit relations). Using short-circuit negation in qe to avoid redundant double negations in intermediary results
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-21 10:31: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
Nikolaj Bjorner
c7abc11ce0
Merge branch 'master' of https://github.com/Z3Prover/z3 into HEAD
2016-02-19 08:23:32 -08:00
Nikolaj Bjorner
bff10527d1
merge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-19 08:23:27 -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
Nikolaj Bjorner
73f93dbadb
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-18 18:10:30 -08:00