3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 11:55:51 +00:00
Commit graph

117 commits

Author SHA1 Message Date
Nikolaj Bjorner
7f590b5419 gift for Nuno
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-17 10:27:58 -07:00
Nikolaj Bjorner
448cf8c31d fix scope accounting for dom simplifier
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-17 10:14:26 -07:00
Nikolaj Bjorner
deba7d4d6e use idom for checking dominator relationships
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-07 14:35:44 +01:00
Nikolaj Bjorner
b898b07795 distinguish simplify_rec from simplify immediate argument
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-07 11:12:09 +01:00
Nikolaj Bjorner
76c309a595 disable caching of simplifier when applied to direct arguments of terms. Caching is only valid when applied to dominator children
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-07 00:20:58 +01:00
Nikolaj Bjorner
cabdc1f64c merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-07 00:09:28 +01:00
Nikolaj Bjorner
a18236bc7f have quantifier equality take names into account
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-07 00:07:53 +01:00
Nuno Lopes
1d12a9c86d dom_simplifier: fix dominator computation 2017-10-06 18:19:37 +01:00
Nikolaj Bjorner
31c6b3eb5b fix leak
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-06 16:07:25 +01:00
Nikolaj Bjorner
c3f615dbfc reverse arguments
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-06 16:03:43 +01:00
Nikolaj Bjorner
2634be01aa adding backwards pass
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-06 13:43:01 +01:00
Nikolaj Bjorner
cb548404bc bail out dominators after log number of steps
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-06 12:08:37 +01:00
Nikolaj Bjorner
6df628edc7 pin elements in expr2depth
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-06 11:45:29 +01:00
Nikolaj Bjorner
eac659f748 deal with empty set of post-orders
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-06 11:34:14 +01:00
Nikolaj Bjorner
f59cf2452d #1284 build problems
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-05 22:20:31 +01:00
Nuno Lopes
6268ff1fa1 dom_simplify improvements with Nikolaj 2017-10-05 18:10:20 +01:00
Nuno Lopes
110d558ee4 dom_simplify_tactic: micro opt 2017-10-05 08:53:12 +01:00
Nikolaj Bjorner
5d17e28667 support for smtlib2.6 datatype parsing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-04 21:12:43 -07:00
Nikolaj Bjorner
a3dba5b2f9 hide new datatype plugin
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-03 20:01:59 -07:00
Nikolaj Bjorner
a887475e9f remove dom-simplifier from build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-03 15:01:54 -07:00
Nikolaj Bjorner
009e94d188 update to theory_seq following examples from PJLJ
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-30 14:00:01 -07:00
Nikolaj Bjorner
4452ff9884 elaborate on dom simplifier
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-29 19:16:56 -07:00
Nikolaj Bjorner
8d8e4cbc51 fix some basic mistakes in dominator code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-28 20:11:46 -07:00
Nikolaj Bjorner
597f77cd77 initial sketch for dominator based simplifiation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-28 20:03:31 -07:00
Nicolas Braud-Santoni
b877c962ca injectivity: Add tactic to CMake-based builds 2017-08-23 10:27:55 +00:00
Nicolas Braud-Santoni
ae9ace2321 injectivity: Cleanup whitespace 2017-08-23 10:25:33 +00:00
Nicolas Braud-Santoni
27fd879b8c injectivity: Fixup rewriter 2017-08-22 18:44:34 +00:00
Nicolas Braud-Santoni
33dd168195 Remove unnecessary parameter 2017-08-22 18:09:57 +00:00
Nicolas Braud-Santoni
c0b6d00e8a Update debug output 2017-08-22 18:09:38 +00:00
Nicolas Braud-Santoni
4cb7f72509 First version of the inj. tactic 2017-08-22 17:10:20 +00:00
Nuno Lopes
000796c25c micro-optimization in tactics' cleanup(): avoid dealloc+alloc traffic 2017-08-14 20:12:00 +01:00
Nikolaj Bjorner
b19f94ae5b make include paths uniformly use path relative to src. #534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 13:24:11 -07:00
Christoph M. Wintersteiger
943dc8118a Improved collect-statistics tactic 2017-07-20 13:44:47 +01:00
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