Bruce Mitchener
ce7f9c3f3d
Remove unused variable.
2019-08-04 18:37:05 -07:00
Nikolaj Bjorner
c7dc420b3b
let me guess, ASAN doesn't like 0-byte memcpy
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-08-03 23:19:59 -07:00
Nikolaj Bjorner
4431a534b3
fix #2450 - track assumptions across lazy explanations and variable equalities
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-08-03 07:57:16 -07:00
Nikolaj Bjorner
db5af3088b
logging for #2450
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-08-02 16:47:18 -07:00
Nikolaj Bjorner
1d488d07fa
nlsat
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-08-02 15:06:34 -07:00
Nikolaj Bjorner
7f073a0585
fix #2452 fix #2451
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-08-01 16:28:15 +08:00
Nikolaj Bjorner
26c1c744aa
fix #2396
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-07-12 17:36:30 -04:00
Nikolaj Bjorner
0bca2aabff
remove invocation of debugger
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-07-12 17:07:44 -04:00
Nikolaj Bjorner
fc02114bf4
fix #2242 , move purify-arith down to after ite elimination
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-05-09 11:55:00 +02:00
Nikolaj Bjorner
6071797ba9
fix again
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-05-08 12:11:43 +02:00
Nikolaj Bjorner
f79dccccfe
fix #2238
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-05-08 10:15:57 +02:00
Nikolaj Bjorner
28773c8d5c
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-04-27 13:49:44 -07:00
Nikolaj Bjorner
944ce1135b
replace __debug__ by Z3_DEBUG #2225
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-04-27 13:47:53 -07:00
Nikolaj Bjorner
045fef35ed
fix build break
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-11 09:35:27 -08:00
Nikolaj Bjorner
796689f708
#1948 remove memory allocation in nlsat::solver::~solver
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-11 09:08:53 -08:00
Florian Pigorsch
326bf401b9
Fix some spelling errors (mostly in comments).
2018-10-20 17:07:41 +02:00
Nikolaj Bjorner
d00ffdda82
strengthen filter for specialized tactic conditions, add flag to disable hnf to lp_params
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-15 22:35:47 -07:00
Nuno Lopes
8791f61aa7
reduce mem allocation in tactic API
2018-07-02 13:41:44 +01:00
Nikolaj Bjorner
8969a7035c
Merge pull request #1693 from NikolajBjorner/master
...
fix #1675
2018-06-20 17:36:24 -07:00
Nikolaj Bjorner
19e2f8c9d5
fix #1694
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-20 17:35:41 -07:00
Nikolaj Bjorner
335d672bf1
fix #1675 , regression in core processing in maxres
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-19 23:23:19 -07:00
Nikolaj Bjorner
8040eddf65
fix #1658 fix #1689
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-18 16:41:04 -07:00
Nikolaj Bjorner
ff0f257102
remove iff
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:48 -07:00
Nikolaj Bjorner
75eba45926
Merge pull request #1606 from NikolajBjorner/opt
...
This integrates several features and improvements to the SAT and finite domain solver.
- The SAT solver by default handle cardinality and PB constraints using a custom plugin that operates directly on cardinality and PB constraints.
- A parallel mode is available for select theories, including QF_BV. By setting parallel.enable=true Z3 will spawn a number of worker threads proportional to the number of available CPU cores to apply cube and conquer solving on the goal.
- A "cube" interface is exposed over the solver API.
- Model conversion is first class over the textual API, such that subgoals created from running a solver can be passed in text files and a model for the original formula can be recreated from the result.
- This has also led to changes in how models are tracked over tactic subgoals. The API for extracting models from apply_result have been replaced.
- An optional mode handles xor constraints using a custom xor propagator. It is off by default and its value not demonstrated.
- The SAT solver includes new inprocessing technques that are available during simplification. It performs asymmetric tautology elimination by default, and one can turn on more powerful inprocessing techniques (known as ACCE, ABCE, CCE). Asymmetric branching also uses features introduced in Lingeling by exploiting binary implication graphs.
- A breaking change to the API is that parsers for SMT-LIB2 formulas return a vector of formulas as opposed to a conjunction of formulas. The vector of formulas correspond to the set of "assert" instructions in the SMT-LIB input.
2018-05-23 08:47:08 -07:00
Nikolaj Bjorner
363d7aad2a
fix bug reported in #1637
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-22 20:02:08 -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
76eb7b9ede
Use nullptr.
2018-02-12 14:05:55 +07:00
Bruce Mitchener
b7d1753843
Use override rather than virtual.
2018-02-09 21:19:27 +07:00
Bruce Mitchener
ae8027e594
Fix typos.
2018-02-01 19:39:43 +07:00
Bruce Mitchener
73b3da37d8
Typo fixes.
2018-01-02 22:48:06 +07:00
Nikolaj Bjorner
8dadd30db5
add __copy__, __deepcopy__ as alias to translate on same context #1427 . Add generalized Gaussian elimination as an option to first-pass NL solver
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-01-01 17:11:43 -08:00
Nikolaj Bjorner
79a9dfd8fd
adding pre-processing to nlsat for equations
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-30 20:35:33 -08:00
Nikolaj Bjorner
517b081202
remove custom exception, perhaps this handles exception issue
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-18 21:13:03 -08:00
Nikolaj Bjorner
13ee8da659
add virtual destructor to see if this helps ASan error
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-18 15:57:16 -08:00
Nikolaj Bjorner
c3add4eeda
add back missing initialization of lo
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-15 06:56:36 -08:00
Nikolaj Bjorner
21f685fa5a
fix nlsat regression
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-15 06:54:02 -08:00
Nikolaj Bjorner
397cdfc608
avoid crash on nl
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-15 06:38:56 -08:00
Nikolaj Bjorner
1c3d385c25
fix crashes in nlsat
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-14 17:24:13 -08:00
Nikolaj Bjorner
ab39f06df7
fix crashes in nlsat
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-14 17:22:49 -08:00
Nikolaj Bjorner
e5fa35e969
add integer branch and bound to nlsat
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-14 17:07: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
651587ce01
merge with master branch
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-19 09:39:22 -07:00
Nikolaj Bjorner
2b82fd5d0c
updated include directives
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-01 10:51:47 -07: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
6dbfdf3e9c
Merge branch 'master' of https://github.com/z3prover/z3 into opt
2017-07-27 17:03:04 -07:00
Nikolaj Bjorner
49f88d9d90
fix uninitialized warning
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-24 12:52:10 -07:00
Nikolaj Bjorner
a28a8304b7
Dev ( #56 )
...
* introduce int_solver.h
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* add int_solver class
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* track which var is an integer
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* add queries for integrality of vars
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* resurrect lp_tst in its own director lp
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* add file
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* add_constraint has got a body
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* fix add_constraint and substitute_terms_in_linear_expression
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* after merge with Z3Prover
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* adding stub check_int_feasibility()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* Dev (#50 )
* initial skeletons for nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* initial skeletons for nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* small fix in lar_solver.cpp
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* adding some content to the new check_int_feasibility()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* Dev (#51 )
* initial skeletons for nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* initial skeletons for nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding more nlsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* nlsat integration
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add missing initialization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* test
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* Dev (#53 )
* change in a comment
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* Disabled debug output
* removing FOCI2 interface from interp
* remove foci reference from cmakelist.txt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* initial skeletons for nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* initial skeletons for nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding more nlsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* nlsat integration
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add missing initialization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding nra
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* debugging nra
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* updates to nra_solver integration to call it directly from theory_lra instead of over lar_solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* n/a
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* integrate nlsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* tidy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* preserve is_int flag
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* remove a debug printout
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* Dev (#54 )
* change in a comment
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* Disabled debug output
* removing FOCI2 interface from interp
* remove foci reference from cmakelist.txt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* initial skeletons for nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* initial skeletons for nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding more nlsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* nlsat integration
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add missing initialization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding nra
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* debugging nra
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* updates to nra_solver integration to call it directly from theory_lra instead of over lar_solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* n/a
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* integrate nlsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* tidy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use integer test from lra solver, updated it to work on term variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix equality check in assume-eq
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix model_is_int_feasible
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* untested gcd_test()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* call fill_explanation_from_fixed_columns()
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* add the call to pivot_fixed_vars_from_basis() to int_solver.cpp::check()
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* port more of theory_arith_int.h
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* use statistics of lar_solver by theory_lra.cpp
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* port more code to int_solver.cpp
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* add an assert
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* more int porting
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* fix a bug in pivot_fixed_vars_from_basis
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* small change
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* implement find_inf_int_base_column()
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* catch unregistered vars in add_var_bound
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* add a file
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* compile for vs2012
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* fix asserts in add_var_bound
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* fix the lp_solver init when workig on an mps file
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* towards int_solver::check()
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* change in int_solver::check() signature
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* add handlers for lia moves
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* spacing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-28 13:12:12 -07: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