Arie Gurfinkel
f465a2225a
fixing include paths
2017-07-31 17:14:43 -04:00
Arie Gurfinkel
97c5ab30d5
small improvements to bmc engine
...
courtesy of Marc Brockschmidt
2017-07-31 17:04:36 -04:00
Arie Gurfinkel
7168451201
eager quantifier instantiation for quantified array properties
2017-07-31 17:04:16 -04:00
Arie Gurfinkel
2c7a39d580
Optionally blast arrays
...
This changes the default behavior of always blasting arrays.
The old behavior can be restored using
fixedpoint.xform.array_blast=true
2017-07-31 17:03:18 -04:00
Arie Gurfinkel
f5fa6b0bcb
optionally disable subsumption checker
2017-07-31 17:03:18 -04:00
Arie Gurfinkel
33c81524d2
optionally disable propagate variable equivalences in interp_tail_simplifier
2017-07-31 17:03:18 -04:00
Arie Gurfinkel
c3d433ede0
implemented spacer-specic muz API
2017-07-31 17:03:18 -04:00
Arie Gurfinkel
1530a39a96
stubs for spacer-specific API
2017-07-31 17:03:18 -04:00
Arie Gurfinkel
ffa4957362
do not use array_der when simplifying rules
2017-07-31 17:02:29 -04:00
Arie Gurfinkel
a73023da97
preserve rule names when changing rules
2017-07-31 17:02:29 -04:00
Arie Gurfinkel
5b9bf74787
Spacer engine for HORN logic
...
The algorithms implemented in the engine are described in the following papers
Anvesh Komuravelli, Nikolaj Bjørner, Arie Gurfinkel, Kenneth L. McMillan:
Compositional Verification of Procedural Programs using Horn Clauses over Integers and Arrays. FMCAD 2015: 89-96
Nikolaj Bjørner, Arie Gurfinkel:
Property Directed Polyhedral Abstraction. VMCAI 2015: 263-281
Anvesh Komuravelli, Arie Gurfinkel, Sagar Chaki:
SMT-Based Model Checking for Recursive Programs. CAV 2014: 17-34
2017-07-31 17:02:29 -04:00
Arie Gurfinkel
b269e6b35b
comments on proof_utils
2017-07-31 17:01:47 -04: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
Nikolaj Bjorner
18e9e4f4ac
fixes #1169
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-27 09:25:01 -07:00
Nikolaj Bjorner
a0a8bc2a62
fixes to #1155 and partial introduction of SMTLIB 2.6 datatype format
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-24 09:12:43 -07:00
Nikolaj Bjorner
5714f830b0
fix check for finite sorts #1122
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-08 13:37:24 -07:00
Nikolaj Bjorner
253870c6d7
fix compiler warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-04 13:08:23 -07:00
Nikolaj Bjorner
08524a2d90
cleanup for warning message
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-01 11:47:17 -07:00
Arie Gurfinkel
c7fbab0c11
propagate rule names during xform
2017-06-23 09:38:04 -04:00
Arie Gurfinkel
0dead22dca
fix missing initialization
2017-06-23 09:38:04 -04: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
af28057980
preserve dl rule names during xforms
2017-06-20 22:23:55 -04:00
Arie Gurfinkel
50f794c4f5
api for accessing dl_rule name
2017-06-20 22:23:55 -04:00
Arie Gurfinkel
7840f6cead
typo in a comment
2017-06-20 22:23:55 -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
596652ed36
Merge branch 'master' of https://github.com/Z3Prover/z3
2017-05-31 18:35:52 +01:00
Christoph M. Wintersteiger
a7d5bb7b36
Tabs
2017-05-31 12:18:00 +01:00
Nikolaj Bjorner
2cbeedec69
accept hereditarily finite sorts in datalog engine
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-22 19:32:43 -07:00
Nikolaj Bjorner
aff02ca905
include 'stopwatch.h' to avoid ODR warnings, #994
2017-04-30 11:28:11 -07: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
d754aa2dc4
disable ackerman reduction when head contains a non-constant/non-variable. #947
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-17 10:12:32 -07:00
Nikolaj Bjorner
c4c9de0838
fix memory leaks from cancellations
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-15 20:09:27 -08:00
Nikolaj Bjorner
4bcf1bf2f6
fix debug build, unused variable warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-21 10:44:49 -08:00
Nikolaj Bjorner
df492e200f
merge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-21 10:04:02 -08:00
Nikolaj Bjorner
8d18fd075e
remove sources for unused variable warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-21 09:54:45 -08:00
Nikolaj Bjorner
c1480b4389
handle model generation from issue #748 . Deal with warnings from #836
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-12 00:40:52 +01:00
Nikolaj Bjorner
0765eea486
add suggestions from #835
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-11 05:45:40 +01:00
Nikolaj Bjorner
32c63ce4cd
address other warnings per input from delcypher
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-10 17:23:59 +01:00
Nikolaj Bjorner
6594c3a046
add virtual destructor to intermediary class in case this helps for #835
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-10 13:58:39 +01:00
Nikolaj Bjorner
dea3b8ddf7
address warnings from #836
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-10 13:14:36 +01:00
Nikolaj Bjorner
8e078cf9e2
address #835
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-10 07:52:00 +01:00
Nikolaj Bjorner
fe10f2d244
address #835
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-10 07:51:16 +01:00
Nikolaj Bjorner
6a9b5ea3af
fix unsoundness reported in issue #777 , disable ematching on recursive function definition axioms exposed in #793
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-19 15:29:43 -08:00
Nikolaj Bjorner
2ff5af7d42
fix bug incorrect clearing of goals during node creation. Issue #777
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-19 10:06:16 -08:00
Nikolaj Bjorner
ea601dd403
fix and coallesce clique functionality
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-19 03:55:48 -08:00
Nikolaj Bjorner
e9db934f1a
improving perf of mutex finding, revert semantics of 0 timeout to no-timeout. Issue #791
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-17 04:26:17 +02:00
Nikolaj Bjorner
e21bd8dacc
fix lexicographic combinations for wmax: pb constrsaints were not interpreted in Boolean benchmarks. #782
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-15 15:07:05 +02:00
Nikolaj Bjorner
fa1a0aa7ba
remove buggy and unused equivalence relation plugin. Github issue #770
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-31 22:59:56 +01:00
Nikolaj Bjorner
7f29674842
add option to bypass compression of unbound tails, issue #738
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-09-16 14:56:10 -07:00
Nikolaj Bjorner
510231df42
fix to #717 . The bottom-up COI filter can only use positive facts for filtering
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-08-23 12:26:38 -03:00
Nikolaj Bjorner
0a09d5ff52
check for non-nullness when handling optional info fields for marking. Fixes issue #719
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-08-23 11:33:40 -03:00
Nikolaj Bjorner
cb2d8d2107
add detection of non-fixed variables to consequence finding
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-30 19:12:41 -07:00
Nikolaj Bjorner
67c6f9be91
have the classifier revert to full arithmetic on non-difference logic, reported on http://stackoverflow.com/questions/38594208/changing-order-of-z3-fixepoint-queries-changes-the-result/38596187#3
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-26 10:32:54 -07:00
Fabian Wolff
6eaab00e83
Fix spelling errors
2016-07-09 11:46:43 +02: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
Nikolaj Bjorner
9253ca9d86
make use of warning_msg safe for formatting. Thanks to Scott McPeak for reporting
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-14 08:10:10 -07:00
Nikolaj Bjorner
b11f9050e3
fix bugs exposed from bad indentation warnings, #650
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-13 18:20:25 -07:00
Nikolaj Bjorner
cb29c07f06
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-06-08 13:56:12 -07:00
Nikolaj Bjorner
5253f3a12b
internalize unsupported operations
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-08 13:56:01 -07:00
Nikolaj Bjorner
e8d85f91d7
disable filtering on negated tails. Issue #634
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-04 20:08:13 -07:00
Nikolaj Bjorner
19db0c5f2c
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-06-03 10:13:27 -07:00
Nikolaj Bjorner
219b47822b
avoid qsat when formulas are quantifier-free. Go directly to SMT
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-03 10:13:16 -07:00
Nikolaj Bjorner
c3f498a640
strengthen support for int.to.str and length reasoning. Issue #589
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-28 12:26:47 -07:00
Nikolaj Bjorner
8c99d3c431
tidy unbound compressor code, add invariant checks
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-28 11:05:26 -07:00
Nikolaj Bjorner
236f1c2a3e
bypass stale rules as part of unbounded compression. Issue #624
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-27 10:31:28 -07:00
Nikolaj Bjorner
18a9b89e30
bypass stale rules as part of unbounded compression. Issue #624
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-27 09:38:23 -07:00
Nikolaj Bjorner
50d334e4e9
fix non-determinism bug in simple joins. Keys were normalized based on pointer equality not object identifier equality. Also some ptr hashtables were used with pointer hashes, and then traversed. reported in issue #619
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-27 07:51:02 -07:00
Nikolaj Bjorner
84ff6fd62a
fix non-determinism bug in simple joins. Keys were normalized based on pointer equality not object identifier equality. Also some ptr hashtables were used with pointer hashes, and then traversed
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-27 07:49:38 -07:00
Christoph M. Wintersteiger
c4610e0423
renamed variable to avoid clashes
2016-05-24 14:37:43 +01:00
Nikolaj Bjorner
3a6e6df4f5
fix unused-but-set-variable warnings reported in #579
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-18 11:02:10 -07:00
Nikolaj Bjorner
96e157e201
fix warnings for unused variables
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-17 13:54:22 -07:00
Nikolaj Bjorner
e5ca676251
initialize manager to avoid unrelated error message, issue #604
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-15 12:59:42 -07:00
Nikolaj Bjorner
7fb30c38ae
disallow illegal use per #604
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-15 12:49:07 -07:00
Nikolaj Bjorner
d383fd851a
move vector<std::string to std::vector<std::string
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-16 09:34:27 -07:00
Nikolaj Bjorner
20bbdfe31a
moving remaining qsat functionality over
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-19 15:35:26 -07:00
Nikolaj Bjorner
f175f864ec
merge useful utilities from qsat
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-19 12:01:44 -07:00
Nuno Lopes
0b1b5a4328
fix VS x64 warning
2016-03-10 09:03:24 +00:00
Nuno Lopes
8b53628d67
remove a few unused decls
2016-03-09 17:01:06 +00:00
Nikolaj Bjorner
8c4d791f01
use std::vector per Nuno's analysis to fix #420
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-07 08:08:17 -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
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
94be6fc776
remove passing suffixes into pdr_sym_mux, trying to isolate cause of issue #420
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-12 19:25:52 +00:00
Christoph M. Wintersteiger
c01f0323c3
Merge branch 'lackr' of https://github.com/MikolasJanota/z3 into MikolasJanota-lackr
2016-02-10 14:26:04 +00:00
Nikolaj Bjorner
cacfa0cb98
fix build, likely addressing issue #420
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-09 22:58:08 +00:00
Nikolaj Bjorner
5ce85aba40
removing const qualifiers, perhaps this helps for #420 and adding assert to enable Clang analysis earlier for issue #440
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-09 22:23:37 +00:00
Christoph M. Wintersteiger
808eb664cb
Merge branch 'master' of https://github.com/Z3Prover/z3 into lackr
2016-02-04 18:27:19 +00:00
Christoph M. Wintersteiger
4e37821dde
"canceled" -> Z3_CANCELED_MSG
...
Relates to #431
2016-02-04 13:52:43 +00:00
Christoph M. Wintersteiger
35c21779e3
Merge branch 'master' of https://github.com/Z3Prover/z3 into lackr
2016-02-02 11:29:35 +00:00
Nikolaj Bjorner
2115111dac
update display method for datalog to use predicates, throttle use of extensionality
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-28 20:23:06 -08:00
Mikolas Janota
094d357b07
Merge remote-tracking branch 'upstream/master' into lackr
2016-01-13 12:10:36 +00:00
Nikolaj Bjorner
01c3e02e99
fix query for non-relational engines
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-12 07:57:10 -08:00
Mikolas Janota
613edfc107
Merge remote-tracking branch 'upstream/master' into lackr
2016-01-12 13:19:29 +00:00
Mikolas Janota
b26e4b1516
Merge remote-tracking branch 'upstream/master' into lackr
2016-01-11 18:27:47 +00:00
Nikolaj Bjorner
131f9e2247
change queries to take function names instead of arbitrary predicates. This allows to bypass issues with having arbitrary query expressions compiled in arbitrary ways to auxiliary predicates where names of bound variables are reshuffled. See also Stackoverflow http://stackoverflow.com/questions/34693719/bug-in-z3-datalog
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-10 20:43:41 -08:00
Nikolaj Bjorner
082dcda7f7
Fix Issue #405 : Horn normal form ignores implication
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-10 19:16:59 -08:00
Nikolaj Bjorner
fc4260e018
enable Horner evaluation also for mixed-integer constraints now that ast-manger inserts coercions on the fly. Avoids loop for issue #399 , but with this alone results in unknown status
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-09 10:01:44 -08:00
Mikolas Janota
743a59254e
Merge remote-tracking branch 'upstream/master' into lackr
2016-01-07 16:39:43 +00:00
Nikolaj Bjorner
3f040dbd23
remove std::cout usage
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-04 22:26:54 -08:00
Nikolaj Bjorner
0c03a87c82
merge with master
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-03 14:08:29 -08:00
Nikolaj Bjorner
876fd1f7ba
seq
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-01 09:00:21 -08:00