Dan Liew
229fd3dc3e
[CMake] Fix dependencies for generating install_tactic.cpp
.
...
Previously CMake was not aware of which headers files the generation
of `install_tactic.cpp` depended on. Consequently this could result
in broken incremental builds if
* Existing headers that declared tactics/probes changed.
* New tactics/probes were added to new header files.
Now the `z3_add_component()` CMake function has been modifed to take an
optional `TACTIC_HEADERS` argument which allows the headers that declare
tactics/probes to be explicitly listed. The necessary component
declarations have been modified to declare their tactic/probe header
files.
With this information CMake will now regenerate `install_tactic.cpp`
correctly.
This required the `mk_install_tactic_cpp_internal()` function to be
changed to take a list of header files rather than a list of component
source directories. The two consumers (CMake and Python/Makefile build
systems) of this function have been modified to work with this change.
This partially fixes #1030 .
2017-06-21 23:03:48 +01:00
Arie Gurfinkel
625874e66f
remove debug code
2017-06-20 21:07:38 -04:00
Dan Liew
4b517b96df
[CMake] Move CMake files into their intended location so the
...
`contrib/cmake/bootstrap.py` script no longer needs to be executed.
The previous location of the CMake files was a compromise proposed
by @agurfinkel in #461 . While this has served us well (allowing progress
to be made) over time limitations of this approach have appeared.
The main problem is that doing many git operations (e.g. pull, rebase)
means the CMake files don't get updated unless the user remembers to
run the script. This can lead to broken and confusing build system
behaviour.
This commit only does the file moving and necessary changes to
`.gitignore`. Other changes will be done in subsequent commits.
2017-06-12 11:59:00 +01:00
Christoph M. Wintersteiger
27a1758857
Added rewriter.ignore_patterns_on_ground_qbody option to disable simplification of quantifiers that have their universals appear only in patterns, but otherwise have a ground body.
2017-04-07 21:19:20 +01:00
Nikolaj Bjorner
e092232f67
add virtual destructors, fix operator code for API methods complement and intersection per note by Loris d'Antoni
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-09 23:17:52 +01:00
Christoph M. Wintersteiger
824ba14977
Disabled some ITE rewrite rules that were applied by default, but too expensive. Added re-computation of subterm occurrences in ctx_simplify_tactic. (Performance fixes for QF_LIA benchmarks).
2016-11-04 13:39:53 +00:00
Christoph M. Wintersteiger
a3e915fbea
Whitespace
2016-11-04 13:37:14 +00:00
Nikolaj Bjorner
f61600d1d8
fixing unsat core extraction for tactics
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-02 14:14:55 +00:00
Nikolaj Bjorner
5b497b6249
reduce set of mainly verbose warnings raised by -Wmaybe-uninitialized and unused variable warnings from release mode builds
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-22 20:25:47 -07:00
Christoph M. Wintersteiger
f2a869fb58
std::unordered_map -> std::map
2016-06-04 11:01:46 +01:00
Christoph M. Wintersteiger
626b9160bf
collect-statistics additions
2016-06-03 20:45:42 +01:00
Christoph M. Wintersteiger
b54ef3623b
added collect-statistics tactic
2016-06-03 20:26:05 +01:00
Nikolaj Bjorner
ab82fee398
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-03-17 13:06:21 -07: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
Nikolaj Bjorner
3dfc0a93f6
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-03-13 12:09:25 -04: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
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
Nuno Lopes
e7a360ca08
ctx_simplify: remove virtual push() method
2016-02-28 17:57:40 +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
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
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
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
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
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
Nikolaj Bjorner
eae17a43a2
Fix #430 : disable rewriting of concatentations with constants because it breaks equality propagation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-05 11:00:17 +00:00
Nikolaj Bjorner
cf970fd76a
Fix #430 : disable rewriting of concatentations with constants because it breaks equality propagation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-05 10:59:24 +00:00
Nikolaj Bjorner
8e26c97782
tuning bit-vector operations
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-21 13:09:03 +02:00
Nikolaj Bjorner
a7e2fb31e3
updates to resource exceptions, update master possibly handle pull request issue
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-12 11:36:49 -08:00
Nikolaj Bjorner
4132fc2d91
ensure limit children are safe for race conditions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-12 10:18:51 -08:00
Nikolaj Bjorner
2a051719d8
cleanup deprecated critical sections, fix cancellation for par_or_else tactic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-12 09:43:00 -08:00
Nikolaj Bjorner
baee4225a7
reworking cancellation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-11 16:21:24 -08:00
Nikolaj Bjorner
981f8226fe
moving to resource managed cancellation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-11 13:36:47 -08:00
Nikolaj Bjorner
76c9abada2
remove dbg pp
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-08-23 11:00:19 -07:00
Nikolaj Bjorner
546a9b8f03
revising pd-maxres
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-08-23 10:53:39 -07:00
Nikolaj Bjorner
4bc044c982
update header guards to be C++ style. Fixes issue #9
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-07-08 23:18:40 -07:00
Nikolaj Bjorner
5f484c069b
fix distribute forall, fixes issue #138
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-23 14:15:14 +02:00
Nikolaj Bjorner
301f441801
bypass simplifier if (m_is_clausal) {
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-22 09:02:08 -07:00
Nikolaj Bjorner
e6725b2344
merge unstable into opt
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-26 12:12:24 -07:00