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

107 commits

Author SHA1 Message Date
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
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