Arie Gurfinkel
3178f7f86d
Add random order of children in spacer
2018-06-14 16:08:51 -07:00
Arie Gurfinkel
5756871738
Always attempt to eliminate all existential variables
...
Sometimes variables that cannot be eliminated in one context, can be
eliminated in the other. Pass all available variables to MBP to be
eliminated if possible
2018-06-14 16:08:51 -07:00
Arie Gurfinkel
7396ad72ab
Give up when a lemma is re-discovered too many times
2018-06-14 16:08:51 -07:00
Arie Gurfinkel
6fb6279f07
Cleanup array_eq_generalizer
2018-06-14 16:08:51 -07:00
Arie Gurfinkel
da66ad6f80
Cleanup derivation::create_next_child
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
c5ff5ac2a1
Clen up spacer::pred_transformer::get_origin_summary
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
d7dc10212e
Clean up spacer::context::create_children
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
b61da6fcc0
Debug print in org-mode format
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
6b82068d8d
Bug fix in spacer::derivation::exist_skolemize
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
4ca734528e
Formatting
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
dd064bd8f9
Bug fix to spacer::sym_mux
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
38c2b56f0e
Rewrite spacer::sym_mux
...
Simpler implementation that only provides functionality actually used
by spacer
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
268274911a
Fix to cube-and-clause interface in prop_solver
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
e0e435582a
Minor code cleanup
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
6464468cd8
Remove dead code
2018-06-14 16:08:50 -07:00
Nikolaj Bjorner
bfeb15b876
move to list of clauses
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
502e323678
Fixes to pred_tranformer::updt_solver
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
862eef5ec0
Eliminate all existential variables from reach facts
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
70f4674b3a
Code to update solver with all constraints of a pred_transformer
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
cfcc084688
reach_fact --> rf
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
7a8563a34c
spacer: cleaner management of rf tags
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
ada548b5ae
Removed unused options
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
0b387cd7eb
Moved pool_solvers from spacer::manager into spacer::context
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
451d42319b
Rename m_reach_ctx into m_reach_solver
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
cdba0721e7
Extra stats in iuc_solver
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
16fefe850a
Factored mbp into pred_transformer and added stats
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
fde58664f6
Moved mk_reach_fact to pred_transformer
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
2a2b21326b
Stats on num_proxies in iuc_solver
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
e2e1411707
Option to dump SMT queries as benchmarks during Spacer run
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
fb52c36210
spacer: switch to new IUC as default
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
3a97451f8c
spacer: normalize the cube before creating a lemma
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
fce68536d3
spacer: print all lemmas in json
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
bfa472faec
New style of json dump based on lemmas at pob
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
5072a2a869
spacer: pobs keep track of their lemmas
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
61cd74818f
Pin lemmas so that they don't disappear
2018-06-14 16:08:50 -07:00
Nikolaj Bjorner
0c2e3c0894
fixes to clause proof tracking
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
f7d015de8d
Switch spacer_prop_solver to check_sat_cc
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
1343b272e7
Implement iuc_solver::check_sat_cc
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
723e96175b
spacer: prepare to use incremental clause smt_solver interface
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
56a29093d0
Cleanup transition creation in pred_transformer
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
af57db0413
Anti-unification of two ground expressions
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
a8438e081e
Wired qe::mbp into spacer
...
use option fixedpoint.spacer.native_mbp=true to use it
2018-06-14 16:08:49 -07:00
Nikolaj Bjorner
20300bbf94
updates to mbqi
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
14b9dd2cd7
spacer: let pool_solver own the solver
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
15d0fd4b42
spacer: removed virtual_solver
...
This commit removes virtual_solver and smt_context_manager that have
been migrated into solver_pool
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
098e70a9e2
spacer: switched to using solver_pool
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
c2304e2636
spacer: Cleanup of smt parameter configuration
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
cfeee55d4f
spacer: set qi.quick_checker to MC_UNSAT if quantifiers are expected
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
c8187886cf
spacer: use same params for all solver pools
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
c2b8f25cf9
Switch to using solver instead of smt::kernel all around
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
4b09cefb97
Replace smt::kernel with smt_solver
...
Replace all ad-hoc uses of smt::kernel with ad-hoc uses of smt_solver
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
9c37bef553
Fix bug in ctp
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
40781c0b0c
Comment on params used in spacer_context
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
55126692c9
spacer: counterexample to pushing (ctp)
...
Enable using fixedpoint.spacer.ctp=true
For each lemma L currently at level k, keep a model M that justifies
why L cannot be pushed to (k+1). L is not pushed while the model M
remains valid.
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
95d820196b
Cleanup
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
68b7966254
Use C++11
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
4e9023b8fe
Remove dead code
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
00f870b7ff
to_mbp_benchmark(): prints an mbp problem in benchmark format
...
currently unused. See comment in spacer_util.c:qe_project for example
usage
2018-06-14 16:08:49 -07:00
Nikolaj Bjorner
402234757e
updates to mbqi
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
e8cabdc620
Uninitialized variable
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
054c6196a0
Move spacer qe into spacer_qe namespace
...
Attempt to solve compilation issues with GCC and current replication
of qe namespace inside and outside spacer
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
56bce005a0
virtual_solver: debug print
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
891dcd99c2
Use fact-generating version of mk_unit_resolution()
...
fact-using version of mk_unit_resolution() requires the fact to be a
literal. Not sure why this restriction is placed there.
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
8be03f7c1f
spacer_context: skolemize quant vars before renaming
...
Skolemization has to be done before renaming, otherwise,
can't guarantee that variable names do not clash
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
4de58a42fe
Update initialization order
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
aeb2f3c4bb
factor out inherit_properties
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
2f369d8d41
Simplify code using C++11 conventions
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
5a6bd5e782
hypothesis_reducer: worked around propositional literals
...
propositional formulas (disjunctions) can appear as literals. This
makes it tricky to recognize whether a formula is a unit clause when
re-building unit resolution.
Added work-around that identifies whether a formula is a literal based
on its appearance in previous unit resolution step.
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
b39c532f19
Order of methods in spacer_context.cpp
2018-06-14 16:08:48 -07:00
Nikolaj Bjorner
7931bd1dfc
updates to mbqi
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
0fe5e6c2a6
Fix handling of complex literals in hypothesis_reducer
...
In Z3, an arbitrary, even propositional, formula can be a literal.
This requires careful handling of restructuring of unit resolution.
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
d1a7c0ceb0
Remove a print
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
05c8067392
Changed pob queue management strategy in spacer_context
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
a696a40a3a
Refactoring
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
ec8f99fee7
Rename expand_node --> expand_pob
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
3f9b5bce99
Remove debug function
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
ac3bbed311
Remove dead code in spacer_manager
...
- removed bg_assertions. Incompatible with mbp in spacer
- removed unique number. Unused
- removed mk_and() and switched to ast_util:mk_and() instead
spacer_manager::mk_and() uses bool_rewriter to simplify the
conjunction
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
33466c75a6
mss loop in prop_solver
...
max sat assignment (mss) to replace core-based maxsmt()
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
d379b14942
Cleanup spacer_iuc_solver
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
fd13eb9e0e
Final cleanup of hypothesis_reducer
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
9d4784baf6
Fix dealloc order in hypotheses_reducer::reset()
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
689414d055
Fix debug printing in iuc_solver
2018-06-14 16:08:48 -07:00
Nikolaj Bjorner
ff0f257102
remove iff
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
8d312f9d1f
Cleanup of hypothesis_reducer
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
2db38fedd6
Cleanup of theory_axiom_reducer proof trasfomation
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
07ad67ebad
Move proof dot printing into iuc_proof
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
45500ff7d3
Cleanup iuc_proof
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
abe67705d3
Cleanup iuc_proof
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
c893740e13
Fix compilation
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
3bc3b00fdd
Post merge compile fixes
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
649bab2f58
Rename itp_solver into iuc_solver
...
IUC stands for Interpolanted UNSAT Core
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
5d3b515a50
Cleanup option names and default values
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
39bdecf9c2
Minor code cleanup
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
83adb6742e
Remove whitespace
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
7c727ee922
Fix compiler warnings
2018-06-14 16:08:48 -07:00
Bernhard Gleiss
4b6921dffb
removed unnecessary assignment
2018-06-14 16:08:48 -07:00
Bernhard Gleiss
295d16bfae
Rewrite hyp-reducer
...
This is a new version that conceptually addresses the bugs in
all previous version. However, it had a hard-to-debug memory
corruption. The bug appeared only in optimized compilation under
Linux with GCC.
This code is suspect and should be reviewed and further tested
2018-06-14 16:08:48 -07:00
Bernhard Gleiss
85c58e344c
Add option to use old_hyp_reducer
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
f0f75d5254
Wire in arith-axiom-reducer
2018-06-14 16:08:48 -07:00
Bernhard Gleiss
0f25e9e831
Moved farkas stats printing to before and after the hyp-reduction
2018-06-14 16:08:48 -07:00
Bernhard Gleiss
de31b07008
arith-theory-axiom reducer to handle arithmetic axioms
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
df2eb771ef
Fix in spacer_itp_solver: use pr.get() instead of get_proof()
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
ab3a6702af
Fix several bugs in hyp_reducer
...
- compute_marks didn't find all units
- call to m.mk_unit_resolution expects that there is at least one unit
- hyp-reduced proof wasn't used
- bug in early termination
- any hypothesis was replaced with the old derivation of the literal
- handle the case of a single literal premise under hypothesis that is
replaced by an empty clause under hypothesis
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
56114a5f6d
Refactor iuc_proof as a separate class
...
This also adds DOT printing support to interpolating proofs
(color for different parts)
iuc_proof is a proof used for IUC computation
2018-06-14 16:08:48 -07:00
Bernhard Gleiss
247c570e6b
Debug sanity check in spacer_context
...
Triggered by bugs in hypothesis remover
only sanitycheck lemmas in debug-mode
2018-06-14 16:08:48 -07:00
Matteo Marescotti
a4e67b8bb6
Wire JSON printing into Spacer
2018-06-14 16:08:48 -07:00
Matteo Marescotti
3248f57434
Add support for printing spacer pobs in JSON
2018-06-14 16:08:48 -07:00
Matteo Marescotti
28ef9ab9d1
User option to enable starting spacer from a given level
2018-06-14 16:08:48 -07:00
Matteo Marescotti
ff7c949be8
Fix: call collect_statistics() in virtual_solver
2018-06-14 16:08:48 -07:00
Matteo
65885f7eba
add_constraint API
2018-06-14 16:08:48 -07:00
Matteo
3c7165780c
Extend spacer with callback events
...
Callback events allow the client of spacer to
get events during exection. The events include
new lemmas and unfolding.
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
b51251f394
Move tout under TRACE
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
fd7bcc7afc
Format
2018-06-14 16:08:48 -07:00
Yakir Vizel
5df7a08d1c
A simple version for finding the stride between different indices in a POB
...
This current version is very limited.
It assumes a pre-defined structure (namely, an ADDER).
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
04a778f2fd
Option to enable cube normalization in quic generalizer
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
852e181fed
New quic3 lemma generalizer
2018-06-14 16:08:48 -07:00
Arie Gurfinkel
9cdb63ae4a
Handle conversion of quantified lemma to quantifier free
...
When a cube is updated, a lemma might loose all of its quantified
variables. In this case, it is effectively quantifier free
and might be a version of an already existing lemma.
For that reason, we convert it to quantifier free lemma when
this happens.
2018-06-14 16:08:48 -07:00
Yakir Vizel
23a8e59493
Initial commit of QGen
...
Controlled by fixedpoint.spacer.use_quanti_generalizer
measure cumulative time, number of invocations, and number of failed
SMT calls
Relaxing equality in a pattern: if a variable equals a numeral, relax with GE
pob::get_skolems() returns all skolems that might appear in the pob.
New skolems must be added above the largest index in that map,
even if they are not used in the pob itself.
pattern generalization should be done before the pattern is skolemized and
added into the new cube.
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
a1efb88318
Semantic matcher
...
Extends matcher with rewrites based on semantics of arithmetic operations
Like matcher, but uses arithmetic and logic rewrites to try to
get a semantic match.
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
7dee36358d
Allow bool_ind_generalizer to skip non-array literals
...
Currently a hack to skip generalizing some literals.
Used together with quic generalizer to remove all array terms if possible
before quic generalization
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
46fb0d928a
Fix in spacer_term_graph
2018-06-14 16:08:47 -07:00
Yakir Vizel
068b77d43a
Normalizing LE and GE with constants
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
0c1ef7155a
Option to rewrite expression in term_graph
...
Rewrite expressions to minimize uses of constants 0 and 1
Currently disabled due to interaction with quic
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
ecf9c629b0
Fix binding handling for quantifier free lemmas
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
a8318b8822
Fix lemma::has_binding()
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
ec179da0fa
API to get num of free variables in a pob
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
05e876d684
Fix n-arry applications in spacer_term_graph
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
7b82ec1bee
Attempt bug fix
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
981e521b18
Cleanup lemma definition
...
exposes a potential bug. See comments in code.
2018-06-14 16:08:47 -07:00
Yakir Vizel
f51c07adf6
Moving skolems to lemma
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
ea73acef45
Implements mk_num_pat
...
Abstracts interpreted numeric constants with variables in a ground expression
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
9bc11b2122
Wire term graph into eq_generalizer
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
09d54c10a6
Wire term graph into spacer normalizer
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
be77b1de39
Improve interface of term_graph
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
6407ec8725
spacer_term_graph: an egraph of terms
...
Used to determine and factor out equalities
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
088bd3ed8e
Fix compiler warning
2018-06-14 16:08:47 -07:00
Bernhard Gleiss
25fad153d1
added option fixedpoint.spacer.iuc.debug_proof to debug proof which is used for generation of iuc
2018-06-14 16:08:47 -07:00
Bernhard Gleiss
c3a66217e1
improved options for IUC computation
2018-06-14 16:08:47 -07:00
Bernhard Gleiss
370667722d
New option fixedpoint.spacer.print_farkas_stats
...
Prints the number of Farkas lemmas in each proof
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
880fc77655
Further rewrite equalities
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
5a37518e58
Improve statistics from spacer
2018-06-14 16:08:47 -07:00
Bernhard Gleiss
00a99f01b4
improved options for IUC computation
2018-06-14 16:08:47 -07:00
Bernhard Gleiss
fba995294d
refactored options regarding farkas lemma handling
2018-06-14 16:08:47 -07:00
Bernhard Gleiss
56fcb8e6fd
added option fixedpoint.spacer.print_farkas_stats to print number of Farkas lemmas in each proof
2018-06-14 16:08:47 -07:00
Bernhard Gleiss
4148ee128c
fixed bug, which added too many edges between super-source and source in the case where the source was used by multiple inferences
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
9b050e8d30
Fix benign warning
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
e7815c703c
Fix a typo
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
321cad70d6
improve comments for scoped_weakness
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
890bc0f7c9
fix scoped_weakness
...
forgot to save current state of params before resetting them
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
68518b0e32
propagate weakness from pob down to all related checks
...
If a pob was discharged with a weak solver, propagate the level of
weakness to inductive generalization and to lemma propagation.
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
b8b3703511
improved implementation of is_qblocked()
...
Disabled by default. Has no effect if ran with the default set of
options where qlemmas=true and instantiate=true
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
371ba4fbc0
added parameters that seem to work well with quantifiers and arith
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
27d8fa4a34
hard-code quantifier weight to 15
...
With default settings, the eager threshold is 10 and lazy is 20. 15
puts us in the middle ensuring that lemmas are instantiated when UNSAT
and otherwise delayed.
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
135a4a765f
Adding grounding of the current lemma
...
In addition to adding the necessary instance of a quantified lemma,
add its grounding over the global set of skolems.
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
e8befc072c
cleaned up lemma instantiation code
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
6917aa3eb9
debug print
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
1d478bd8d3
using sk_lt_proc order instead of ast_lt_proc when creating a lemma
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
6cf68bee80
app ordering that puts special skolem constants first
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
9f0eb367b1
ground lemmas during propagation when qlemmas are disabled
...
When asserting quantified lemmas are disabled, ground a lemma
explicitly during propagate to make sure that it is ground using our
local set of skolem constants.
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
5da0753269
(spacer) add instances even when a q-lemma already exists
...
It is possible that a new instance of a quantified lemma is discovered
even though a quantified lemma it already known. In this case, the
instance should be added to a corresponding context, even though the
lemma is not new.
2018-06-14 16:08:47 -07:00
Nikolaj Bjorner
e94b97376c
fix memory leak in relation_manager, use for loops
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 10:16:03 -07:00
Nikolaj Bjorner
a9ca01d8d3
deprecating interp
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-24 13:12:07 -07:00
Nikolaj Bjorner
4f5775c531
remove interpolation and duality dependencies
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-24 08:33:48 -07:00
Nikolaj Bjorner
50c93d1ad4
merge with 4.7.1
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-22 17:10:36 -07:00
corrodedHash
d097d90731
Fixed Segfault when failing to load datalog file
2018-05-08 19:26:14 +02:00
Nikolaj Bjorner
fa93bc419d
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-01 10:53:36 -07:00
Nikolaj Bjorner
f525f43e43
merge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-30 09:30:43 -07:00
Nikolaj Bjorner
b5f067bec5
fix #1592 #1587
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-25 11:18:24 +02:00
Nikolaj Bjorner
97cee7d0a4
fix #1576 , hopefully
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-18 07:30:26 -07:00
Nikolaj Bjorner
098bce0f46
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-14 08:44:20 -07:00
Nikolaj Bjorner
d939c05e72
fix build warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-14 08:27:40 -07:00
Bruce Mitchener
2fa304d8de
Remove int64, uint64 typedefs in favor of int64_t / uint64_t.
2018-03-31 14:45:04 +07:00
Nikolaj Bjorner
c513f3ca09
merge with master
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-25 14:57:01 -07:00
Bruce Mitchener
878a6ca14f
Fix typos.
2018-03-09 14:30:43 +07:00
Nikolaj Bjorner
246941f2d3
fix #1522
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-07 14:26:38 -08:00
Nikolaj Bjorner
718e5a9b6c
add unit extraction
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-06 01:08:17 -08:00
Nikolaj Bjorner
8e09a78c26
fix #1510 by reintroducing automatic declaration of recognizers
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-02 23:02:20 +09:00
Nikolaj Bjorner
9279cbfbac
don't reinit assumptions when the solver is unsat. fixes #1502
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-24 16:30:08 +09:00
Nikolaj Bjorner
a4c58ec4c2
fix #1496
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-22 08:05:28 +09:00
Nikolaj Bjorner
7b6f51941c
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-21 22:18:47 +09:00
Nikolaj Bjorner
54b00f357b
fix rule inlining, add WithParams to pass parameters directly to python API
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-21 21:57:54 +09:00
Bruce Mitchener
76eb7b9ede
Use nullptr.
2018-02-12 14:05:55 +07:00
Bruce Mitchener
7167fda1dc
Use override rather than virtual.
2018-02-10 09:56:33 +07:00
Bruce Mitchener
50f3e9c3c0
Fix typos.
2018-02-09 16:35:26 +07:00
Nikolaj Bjorner
fa0c75e76e
rename to core2 to avoid overloaded virtual
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-07 15:13:13 -08:00
Bruce Mitchener
54b3cd0071
Reserve vector space when possible.
...
This fixes all current instances of the
`performance-inefficient-vector-operation`
warning in clang-tidy.
2018-02-06 11:21:17 +07:00
Nikolaj Bjorner
9d37257059
Merge pull request #1465 from waywardmonkeys/fix-typos
...
thanks
2018-02-05 18:31:09 -08:00
Nikolaj Bjorner
3e810d6c54
remove static from format (not thread safe), remove std::move #1466
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-05 16:46:49 -08:00
Nikolaj Bjorner
2853558bc2
Merge pull request #1466 from waywardmonkeys/reduce-copying
...
Use const refs to reduce copying.
2018-02-05 16:37:44 -08:00
Bruce Mitchener
ae8027e594
Fix typos.
2018-02-01 19:39:43 +07:00
Bruce Mitchener
6d6b614924
Use char version of rfind.
...
There is only a single character involved, so use the char version.
This was found via `clang-tidy`.
2018-01-30 21:45:12 +07:00
Bruce Mitchener
177414c0ee
Use const refs to reduce copying.
...
These are things that have been found by `clang-tidy`.
2018-01-30 21:43:56 +07:00
Nikolaj Bjorner
e4f29a7b8a
debugging mc
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-01-19 21:09:52 -08:00
Nikolaj Bjorner
5159291d57
add missing interpreted tail during bottom-up simplification #1452
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-01-12 19:29:42 -08:00
Bruce Mitchener
73b3da37d8
Typo fixes.
2018-01-02 22:48:06 +07:00
Nikolaj Bjorner
a74d18a695
prepare for variable scoping and autarkies
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-13 20:11:16 -08:00
Nikolaj Bjorner
33e8113c9e
adding instrumentation to debug #1233
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-20 16:51:17 -08:00
Nikolaj Bjorner
2f218b0bdc
remove also cores as arguments to tactics
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-19 12:18:50 -08:00
Nikolaj Bjorner
4bbece6616
re-organize proof and model converters to be associated with goals instead of external
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-18 16:33:54 -08:00
Nikolaj Bjorner
df6b1a707e
remove proof_converter from tactic application, removing nlsat_tactic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-17 23:32:29 -08:00
Nikolaj Bjorner
dc0b2a8acf
remove extension model converter
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-17 17:25:35 -08:00
Nikolaj Bjorner
0d15b6abb7
add stubs for converting assertions, consolidate filter_model_converter
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-17 14:51:13 -08:00
Nikolaj Bjorner
cde41cf16c
fix slicer for unsoundness. #1304
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-15 16:39:09 -08:00
Nikolaj Bjorner
2c97eb1393
include information whether rule is reachable in del_rule model converter for simpler model presentation #1241
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-15 11:46:28 -08:00
Nikolaj Bjorner
116094022f
insert total relations in model converter. #1291
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-15 09:10:15 -08:00
Nikolaj Bjorner
454e12fc49
update to vector format
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-10 15:28:16 -08:00
Nikolaj Bjorner
75b8d10f48
add backtrack level to cuber interface
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-08 21:44:21 -08:00
Nikolaj Bjorner
5bb5a50490
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-05 19:24:05 -08:00
Nikolaj Bjorner
429edf175f
fix model converter bug in coi-filter #1241
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-05 19:16:04 -08:00
Nikolaj Bjorner
fd49a0c89c
added facility to persist model transformations
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-02 00:05:52 -05:00
Nikolaj Bjorner
3de8c193ea
implementing model updates
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-30 16:11:51 -05:00
Nikolaj Bjorner
9e20bfe7f9
fix virtual method override
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-28 17:23:35 -07:00
Nikolaj Bjorner
e4b595d490
add solver pool abstraction for Spacer
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-28 16:10:20 -07:00
Nikolaj Bjorner
371f0b193c
move min_cut, fix #1321
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-25 02:59:04 -07:00
Nikolaj Bjorner
48d144a6dd
missing file
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-24 12:51:47 -07:00
Nikolaj Bjorner
db65cc007a
move more proof utils
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-24 10:27:48 -07:00
Nikolaj Bjorner
fc822af707
move proof utils under ast
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-24 09:59:55 -07:00
Nikolaj Bjorner
1315c8d7de
rename repeated class apart
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-24 09:03:28 -07:00
Nikolaj Bjorner
637a0fa139
unused warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-24 08:49:25 -07:00
Nikolaj Bjorner
70f7846af5
move spacer_marshal to under parsers/smt2
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-24 03:18:59 -07:00
Nikolaj Bjorner
d67f3c1466
create proofs folder, move proof-post-order utility to proofs directory, fix regression with proofs
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-24 03:08:56 -07:00
Nikolaj Bjorner
f63439603d
streamlining proof generation (initial step of removing ast-manager dependency). Detect error in model creation when declaring constant with non-zero arity. See #1223
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-23 21:16:46 -07:00
Nikolaj Bjorner
77bbae65f5
fix #1319 , fix #1320
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-23 08:17:38 -07:00
Nikolaj Bjorner
b36f512879
Merge branch 'master' of https://github.com/Z3Prover/z3
2017-10-16 09:07:44 -07:00
Nuno Lopes
9b54b4e784
fix vector<> to support non-POD types
...
adjust code to std::move and avoid unnecessary/illegal
2017-10-16 00:54:29 +01:00
Nikolaj Bjorner
f79cd8f0bc
unused variables
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-13 10:58:42 -07:00
Nikolaj Bjorner
1a6f8c2fad
working on parallel solver
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-10 16:35:05 -07:00
Nikolaj Bjorner
06d75a616f
fix #1288 , again
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-08 11:40:17 +01:00
Nikolaj Bjorner
22fa108ffd
fix #1288 , again
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-08 11:07:22 +01:00
Nikolaj Bjorner
a5ecf87ab8
fix #1288
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-08 10:32:38 +01:00
Nikolaj Bjorner
c1b243a8e3
merge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-07 19:24:30 +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
bec60f763b
add diagnostics to DDNF and fix #1268
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-30 12:35:36 -07:00
Nikolaj Bjorner
e507a6ccd1
adding incremental cubing from API
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-28 09:06:17 -07:00
Nikolaj Bjorner
ae9a6664d4
add cube mode
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-24 10:53:57 -07:00
Nikolaj Bjorner
651587ce01
merge with master branch
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-19 09:39:22 -07:00
Christoph M. Wintersteiger
db398eca7a
Tabs, formatting.
2017-09-17 17:50:05 +01:00
Christoph M. Wintersteiger
00651f8f21
Tabs, formatting.
2017-09-17 14:54:09 +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
5492d0e135
re-introduce eq2ineq name for rewriting parameter
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-04 11:03:57 -07:00
Nikolaj Bjorner
f12a4f04fd
aligning simplifier and rewriter for regression tests
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-04 09:28:40 -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
cf87b6d622
remove simplifier files
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-29 09:22:27 -07:00
Nikolaj Bjorner
d940516df3
fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-27 11:01:45 -07:00
Nikolaj Bjorner
2955b0c2ef
removing more dependencies
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-26 03:05:34 -07:00
Nikolaj Bjorner
5371315f4c
remove simplify dependencies
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-26 00:57:44 -07:00
Nikolaj Bjorner
881f90d17d
remove simplify dependencies
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-26 00:48:49 -07:00
Nikolaj Bjorner
2897b98ed2
remove simplify dependencies
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-26 00:37:22 -07:00
Nikolaj Bjorner
a7bb41fd49
fix build issues
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-24 09:19:35 -07:00
Nikolaj Bjorner
7dd28781ab
remove simplifier dependencies from cmakelist.txt files
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-23 16:33:36 -07:00
Nikolaj Bjorner
655b3d9c19
removing dependency on simplifier in pattern_inference
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-23 12:17:30 -07:00
Nikolaj Bjorner
ce04c18a7a
trying to get rid of last simplifier dependency in macros
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-22 22:14:13 -07:00
Nikolaj Bjorner
e47cd27c8d
compiler warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-20 16:18:25 -07:00
Nikolaj Bjorner
66b24a6c18
change typename to class in optional to deal with compilation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-17 21:00:14 -07:00
Nikolaj Bjorner
ff47c8632b
remove reinterpret cast occurrences that require disabling strict alias analysis #987 #1210
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-17 20:28:49 -07:00
Arie Gurfinkel
88a35119b9
moved obj_equiv_class to ast
2017-08-01 19:24:50 -04:00
Nikolaj Bjorner
22a2aae486
trying to fix build break on use of iterator
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-01 11:47:55 -07:00
Nikolaj Bjorner
3214644e0d
Merge branch 'master' of https://github.com/Z3Prover/z3
2017-08-01 10:51:52 -07:00
Nikolaj Bjorner
2b82fd5d0c
updated include directives
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-01 10:51:47 -07:00
Bernhard Gleiss
4559092a0c
refactored variable names and added comments to min_cut-related methods for unsat-core-computation
2017-08-01 11:17:06 -04:00
Bernhard Gleiss
bc3d8580c9
fixed typo in optimized unsat core plugin code
2017-08-01 11:17:06 -04:00
Nikolaj Bjorner
b12882d94a
a few more spacer related warning messages
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 21:56:13 -07:00
Arie Gurfinkel
25c6480e6e
updated include directives
2017-07-31 23:16:42 -04:00
Arie Gurfinkel
ecd85b314c
more includes
2017-07-31 22:51:28 -04:00
Arie Gurfinkel
66108085fa
removing pragmas to make travis happy
2017-07-31 22:51:28 -04:00
Nikolaj Bjorner
c506f3ddc9
fix build errors
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 18:39:35 -07:00
Arie Gurfinkel
ffff16632d
updating includes
2017-07-31 17:30:11 -04:00
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