3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-18 14:49:01 +00:00
Commit graph

686 commits

Author SHA1 Message Date
Nikolaj Bjorner 360d6f963e reduce output
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-17 17:05:48 -08:00
Bruce Mitchener 1b91694d9b Enable dl_table tests on non-Windows/Cygwin. 2018-12-09 21:02:06 +07:00
Bruce Mitchener 3149d7f7a4 Fix typos. 2018-11-30 22:19:30 +07:00
Bruce Mitchener e570940662 Prefer using empty rather than size comparisons. 2018-11-27 21:42:04 +07:00
Bruce Mitchener edf8ba44d1 Switch from using Z3_bool to using bool.
This is a continuation of the work started by using stdbool and
continued by switching from Z3_TRUE|FALSE to true|false.
2018-11-20 11:27:09 +07:00
Bruce Mitchener 56bbed173e Remove usages of Z3_TRUE / Z3_FALSE.
Now that this is all using stdbool.h, we can just use true/false.

For now, we leave the aliases in place in z3_api.h.
2018-11-20 00:25:37 +07:00
Nikolaj Bjorner 727929c9af fix test build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-14 12:04:31 -08:00
Florian Pigorsch 326bf401b9 Fix some spelling errors (mostly in comments). 2018-10-20 17:07:41 +02:00
Nikolaj Bjorner aad09816cb build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-06 15:16:23 -07:00
Bruce Mitchener 7bc283b84e Avoid unnecessary copies in for-range loops. 2018-10-02 10:38:41 +07:00
Bruce Mitchener cdfc19a885 Use nullptr. 2018-10-02 09:11:19 +07:00
Nikolaj Bjorner 91dbcbc36f fix test build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-20 18:57:47 -07:00
Lev Nachmanson b90d571d9a fixing the build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-09-18 15:36:01 -07:00
Nikolaj Bjorner 36a14a354a disable dotnet in ci script. It seems to get turned on even if dotnet bindings are not requested
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-11 03:14:31 -07:00
Nikolaj Bjorner 2b2f193f2b remove dependency on ARRAYSIZE for issue #1616
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-15 22:26:14 -07:00
Nikolaj Bjorner a3c692c05f fix include paths
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-05 13:49:26 -07:00
Lev Nachmanson adfbc2d001 fix the build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-08-01 10:26:39 -07:00
Lev Nachmanson 16b71fe911 work on static_matrix's cells
Signed-off-by: Lev <levnach@hotmail.com>

trying the new scheme in static_matrix : in progress

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

in the middle of changes in static_matrix

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

more fixes in static_matrix.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

debug

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in static_matrix

Signed-off-by: Lev <levnach@hotmail.com>

fixes in static_matrix, column_strip

Signed-off-by: Lev <levnach@hotmail.com>

fixes in static_matrix

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes for static_matrix

Signed-off-by: Lev <levnach@hotmail.com>

work on static_matrix

Signed-off-by: Lev <levnach@hotmail.com>

work on static_matrix

Signed-off-by: Lev <levnach@hotmail.com>

progress in static_matrix

Signed-off-by: Lev <levnach@hotmail.com>

fix a bug in swap_with_head_cell

Signed-off-by: Lev <levnach@hotmail.com>

progress in static_matrix

Signed-off-by: Lev <levnach@hotmail.com>

compress rows and columns if needed

Signed-off-by: Lev <levnach@hotmail.com>

fix in compression of cells

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-07-29 20:45:13 -07:00
Lev a4a468660d remove an assert
Signed-off-by: Lev <levnach@hotmail.com>
2018-07-10 12:05:23 -07:00
Nikolaj Bjorner 3ae0ea8246 add circuit and unate encoding besides sorting option
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-06 21:09:13 -07:00
Lev Nachmanson 8b4223fef2 make lp_tst optional
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-07-02 19:50:29 -07:00
Nikolaj Bjorner ca3c076394 fixed reduce
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-02 08:26:10 -07:00
Nikolaj Bjorner 05738702d6 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-02 08:10:47 -07:00
Nikolaj Bjorner fad1e611aa build warnings, updates to reduce-invertible, change is_algebraic tester to use int return type
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-01 12:34:55 -07:00
Lev Nachmanson e5eea467b7 adjust hnf
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

change in settings + random in adding terms to hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add terms in hnf from the beginning

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

adjusting settings

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove non used determinant()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 12:19:06 -07:00
Lev Nachmanson eeaca949e0 cleanup in hnf.h
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixex in maximize_term

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

prepare for LIRA (#76)

* merge

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* simple mixed integer example

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

Nikolaj's fixes in theory_lra.cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in maximize_term, disable find_cube for mixed case

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix cube heuristic for the mixed case

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix the build

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix in find cube delta's calculation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove a printout

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove a blank line

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

test credentials

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

avoid double checks to add terms in hnf_cutter

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

fixes in add terms to hnf_cutter

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove a variable used for debug only

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove a field

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove a warning and hide m_A_orig under debug

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use var_register to deal with mapping between external and local variables

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

tighten the loop in explain_implied_bound

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in theory_lra and relaxing debug checks in pop(), for the case when push() has been done from not fully initialized state

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

suppress hnf cutter when the numbers become too large

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove some debug code

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

adjusting hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 12:19:02 -07:00
Lev Nachmanson 9ba4026bc6 avoid going creating hnf_cuts if all involved vars have integral values
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add explanations to hnf cuts

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

nits and virtual methods (#68)

* local

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* virtual method in bound propagator

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

cleanup from std::cout

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

handle the case when the number of terms is greater than the number of variables in hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

method name's fix

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

restore hnf_cutter to work with m_row_count <= m_column_count

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

tune addition of rational numbers (#70)

* log quantifiers only if present

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge and fix some warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* set new arith as default for LIA

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* local

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* virtual method in bound propagator

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* prepare for mixed integer-real

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix default tactic usage

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

give shorter explanations, call hnf only when have a not integral var

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

overhaul of mpq (#71)

* log quantifiers only if present

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge and fix some warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* set new arith as default for LIA

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* local

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* virtual method in bound propagator

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* prepare for mixed integer-real

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix default tactic usage

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* overhaul of mpz/mpq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* disabled temporary setting

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove prints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

fix for 32 bit build (#72)

* log quantifiers only if present

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge and fix some warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* set new arith as default for LIA

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* local

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* virtual method in bound propagator

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* prepare for mixed integer-real

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix default tactic usage

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* overhaul of mpz/mpq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* disabled temporary setting

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove prints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* customize for 64 bit

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

yes (#74)

* log quantifiers only if present

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge and fix some warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* set new arith as default for LIA

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* local

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* virtual method in bound propagator

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* prepare for mixed integer-real

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix default tactic usage

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* overhaul of mpz/mpq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* disabled temporary setting

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove prints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* customize for 64 bit

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* customize for 64 bit

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* more refactor

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

fix the merge

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in maximize_term untested

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix compilation (#75)

* log quantifiers only if present

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge and fix some warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* set new arith as default for LIA

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* local

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* virtual method in bound propagator

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* prepare for mixed integer-real

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix default tactic usage

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* overhaul of mpz/mpq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* disabled temporary setting

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove prints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* customize for 64 bit

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* customize for 64 bit

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* more refactor

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* relax check

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* change for gcc

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-27 12:16:58 -07:00
Lev Nachmanson 9be49ff6ff add cancel to hnf_cutter
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

exit earlier on a large matrix in hnf_cutter

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

call hnf only for the boundary points

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in hnf_cutter initialization

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

initialize has_bounds in lar_solver::get_equality_for_term_on_corrent_x

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

initialize has_bounds in lar_solver::get_equality_for_term_on_corrent_x

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

initialize has_bounds in lar_solver::get_equality_for_term_on_corrent_x

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

initialize has_bounds in lar_solver::get_equality_for_term_on_corrent_x

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in determinant_of_rectangular_matrix calculations

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

changes in debug code

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

init m_hnf_cut_period from globals settings

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix some warnings

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

Lev2 (#66)

* log quantifiers only if present

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge and fix some warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

remove a comment

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify gomory cut return's logic

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify uniformly int_solver::check()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

making new arith solver default for LIA (#67)

* log quantifiers only if present

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge and fix some warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* set new arith as default for LIA

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

remove chase_cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove integer_domain

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

restore call for find_cube()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove a method

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove some debug code

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 11:54:10 -07:00
Lev Nachmanson 82eb80de6d add var_register
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fill the matrix A in hnf_cutter

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fill the matrix A in hnf_cutter

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

first steps of hnf cutter

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

handle generated cases in hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

call hnf only for a full rank matrix

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

get (H reversed) * b

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

finding the cut row randomly, exiting if is not there

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

produce first cuts with hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

produce first cuts with hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

define by lp_settings if to avoid calling hnf_cutter when the solution is not on the boundary

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

revert to the previous version

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 11:39:46 -07:00
Lev Nachmanson 3b5337823a extract gomory cut functionality in one method
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work in hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work in hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work in hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work in hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

prepare calculate U in hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

naive algorithm for HNF and m <= n

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

naive algorithm for HNF

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

introduces reverse matrix into Hermite Normal Form calculation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on more efficient hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use smarter templates in lu.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

the new lu scheme compiles

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simple test passes with the modified lu

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix the build on windows

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

playing with the example from cutting the mix

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf, add extended_gcd_minimal_uv()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on extended_gcd_minimal_uv

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf, add extended_gcd_minimal_uv()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

more tests and bug fixes in hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf modulo version

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf modulo version, more tests pass

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

a rough version of hnf passed the tests

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix build in release

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in determinant calculations

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

create a stub for hnf_cuts

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

create a stub for hnf_cuts

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

create a stub for hnf_cuts

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

general_matrix etc.

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

general_matrix etc.

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

rename cut_solver to chase_cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

rename cut_solver to chase_cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

hnf_cutter

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 11:39:41 -07:00
Lev Nachmanson 2bb94ed4fe remove warnings in scaler and use m_cut_solver_cycle_on_var
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

detect slow propagations

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fiddle with the stop conditions

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

get rid of constraint->m_predecessors, fix a bug in push/pop with lemmas

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

clean detection of stale lemmas in pop

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add constraints lazily to cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

refactor some of cut_solver classes into include files

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

prepare to index constraint from 0 to to n - 1, where n is the number of constraints

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

prepare for constraint priority

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use priorities in active_set

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove unnecesessary parameters

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

speedup bound propagations

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

restore tactics

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

speedup bound propagation by avoiding some calls to propagate_constraint_only_one_unlim

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes by Nikolaj

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix print lp_core_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on gomory test, subs terms indices correctly

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

correct const_iterator for lar_term

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

improve static_matrix with iterators

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

make row_strip a struct

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

move row_strip outside of static_matrix

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add const_iterator to row_strip

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove the hierarchy of iterators - use std::iterators

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

adding gcd_test stats and taking care of for iterators

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

restore qflia_tactic.cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

run gcd_test according to settings()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

experiment with picking a narrow or random branch

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 11:37:13 -07:00
Lev Nachmanson 6202b2f2e4 add cancellations
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

syntax errors

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

use std::vector instead of vector in cut_solver temporarily

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix in is_upper_bound, is_lower_bound

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add bound() for polynomial, needs more testing

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on resolve

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

implement resolve()

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

implement improves()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

replace low_bound by lower_bound

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

better printing in cut_solver.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add value vector to cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on bound propagaion for cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

bound propagation for integer inequalites

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

bound propagation for integer inequalites

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

bound propagattions on integers

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

adding m_explanation field to cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify bound propagation in cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

calculate conflict explanation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

change m_explanation type to a set

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

making cut_solver a member of int_solver, missing push/pop support

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

Nikolaj's comments

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

Nikolaj's comments

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

return explanations from cut_solver and hook up push/pop

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

hook up push/pop

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

using resize of std::vector

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

it is a big squashed commit

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

rename hpp to cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in push/pop of cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

return simple inequalities a part of a conflict

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on propagation and the main loop

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add file

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

init m_v[j], the var values only when j is fixed

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

handle decide in cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

start on resolve_conflict

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

start on resolve_conflict

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove cut_solver_def.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

in the middle

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

change signature of resolve

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix the domain of the decided var

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on tightening of ineqs

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on tight ineqs

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on tightening

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on tightening

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

resolve conflict

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix in usage of resolve()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on conflict resolution

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

cut_solver is not a template

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

represent var_info as a class, not a struct

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

make literal a class

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

better resolve_conflict scheme, and switch to *constraints in literals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

debug conflict resolution in cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

switch to vector

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove nondetermenistic behavior from cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

debug resolve conflict

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix backjump

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix backjump

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix backjump

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix backjump

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

dumb explanation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

get rid of a parameter

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add lemmas origins

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use lemma_origins to provide correct explanations

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use lemma_origins to provide correct explanations

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

store lemmas in a separate vector

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use std::unordered_set for m_dependent_constraints

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use std::unordered_set for m_dependent_constraints

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix bugs with lemmas

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

finding conflicting cores

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

switch from changed variables to active_set

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

less active constraints

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on cut_solver.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

propagate simple constraing immediately

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

propagate simple constraints immediately

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixing bugs with active set

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove const_cast

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

towards unbounded variables

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

toward unbounded variables

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

toward unbounded variables

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

make lemmas_origins a set

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use correct hash and equal in m_lemma_origins

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add testing code

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add testing code

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

debug

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

debug unlimited vars

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

take in Nikolaj's comments and improvements

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

address the comments

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

handle unlimited vars in check_inconsistent

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

debug

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

detect trivial polynomials in resolve

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

Nikolaj's changes

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify handling of m_global_bound_var

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

decide on m_global_bound_var if it is not fixed

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify m_global_bound_var

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove m_global_bound_var, simplify the indexing of var_infos of cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

do not run cut_solver with vars without any bound

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

small changes

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add cancellation in cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

do not pop lemmas during a cut_solver run

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

treating cut_solver as an heurisitic

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

prepare for cut_solver returning undef

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify work with active_set in cut_solver, add stats

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify var_info literals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in fill_conflict_explanation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in the conflict explanation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add timeout to validate_* in theory_lra.cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify cut_solver, no special treatment for simple constraints

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

cleanup the cancel story

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

cleanup cancelling

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in push/pop of cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

extract a method in int_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

some progress with the new scheme

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add testing code

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in test and in literal creation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in bound propagation in cut_solver.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

provide valid conflict explanation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use a lazy push in stacked_map

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use a lazy push in stacked_map

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

optimize stack operations on var_info's domains

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in tightening

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use the standard tactics from qflia_tactic

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

spread the var domain stack over literals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

spread the var domain stack over literals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

avoid cycling in cut_solver.h and fixes in push/pop

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes after rebase

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 11:35:11 -07:00
Lev Nachmanson 58ca4518e5 clean up int_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add a diagnostic method

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

white space change

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

cleanup in int_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

some cleanup

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

remove m_became_zeros

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

start cut_solver, work on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

start cut_solver, work on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

workin on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

working on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

working on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

working on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix bugs in disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix bugs in gisjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix bugs in gisjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix bugs in disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix bugs in disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix bugs is disjoint intervals

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

bug fixes in disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

disjoint_intervals passes the test

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

test disjoint_intervals push(), pop()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 10:53:03 -07:00
Lev Nachmanson db8f01894f solve send-more-money_lev.smt2
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

handle integer vars in random_update

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

call the assert in gomory_cut and branching to a correct place

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

fixes in goromy cut

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

disable x values tracking in random_update

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

more fixes in gomory cut

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

change in mk_bound by Nikolaj

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in gomory cut and setup

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

fixes in int_solver

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

change a printout

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

fix by Nikolaj in treating terms returned by int_solver

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

fix syntax

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a free coefficient bug in bound propagaion and simplify gomory cut

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

avoid tracking pivoted rows during int_solver::check()
2018-06-27 10:49:20 -07:00
Lev Nachmanson aba7dcab3e fix a bug in the lar_solver::m_status update during push/pop
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

progress in gomory cut

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

the first version of Gomory cut, probably broken

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

rename a function

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

gomory cut worked on a toy example

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

track the set of integer variables that are not set to integer values

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2018-06-27 10:19:06 -07:00
Lev Nachmanson d41c65a4f9 replace lean to lp
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2018-06-27 10:09:23 -07:00
Nikolaj Bjorner c82aa5edce 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>
2018-06-27 10:04:46 -07:00
Nikolaj Bjorner 520ce9a5ee integrate lambda expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-26 07:23:04 -07:00
Nikolaj Bjorner 792bf6c10b fix tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-20 08:22:15 -07:00
Nikolaj Bjorner b62d73f209 first round for combined mbi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:52 -07:00
Nikolaj Bjorner 0ae246ad2b add defs to arith solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:52 -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
Nikolaj Bjorner 005a6d93bb cube and clause
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:50 -07:00
Arie Gurfinkel 49821e7c91 Revised solver_pool 2018-06-14 16:08:48 -07:00
Nikolaj Bjorner b649cd93cb change pool solver to enable external control of pool allocation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:48 -07:00
Nikolaj Bjorner 753b9dd734 fix #1650 fix #1648
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-25 08:56:13 -07:00
Nikolaj Bjorner 0708ecb543 dealing with compilers that don't take typename in non-template classes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-23 09:11:33 -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
Daniel Schemmel f02d031d11
As of GCC8, the throw by value, catch by reference idiom is enforced via -Wcatch-value 2018-05-19 04:39:36 +02:00
Nikolaj Bjorner 1e143971c3 tune for unit test, delay initialize re-solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-13 11:49:33 -07:00
Nikolaj Bjorner ad6e128cab fix if-def
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-07 17:04:02 +01:00
Nikolaj Bjorner 43403fafcd adding ema
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-03 13:23:59 -07:00
Nikolaj Bjorner f525f43e43 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-30 09:30:43 -07:00
Nikolaj Bjorner 2dc92e2b94 merge with pull request #1557
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-07 17:22:49 -07:00
Nikolaj Bjorner 187ba6a561 fix cast in tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-07 13:31:23 -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
Nikolaj Bjorner 4b71bfc95d mac build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-20 19:19:42 -07:00
Nikolaj Bjorner 8602c52bc9 fix test build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-19 10:41:42 -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 534a31f74e inherit solver parameters in asserted formulas rewriter. #1511
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-04 05:06:36 -08:00
Nikolaj Bjorner 30de514a88 fix topological traversal crash
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-28 11:59:17 +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 ae8027e594 Fix typos. 2018-02-01 19:39:43 +07:00
Nikolaj Bjorner b78c538e02 fix build of test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-30 22:58:41 -08:00
Nikolaj Bjorner c31ad14747 fix test build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-01 00:52:32 -08:00
Nikolaj Bjorner 4bb0e9b633 fix test build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-01 00:52:06 -08:00
Nikolaj Bjorner 89971e2a98 remove smtlib1 dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-28 10:37:30 -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 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 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 72c9134424 fixing regressions introduced when reducing astm proof dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-24 02:26:39 -07:00
Nikolaj Bjorner dc6ed64da1 testing bdd for elim-vars
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-18 17:37:38 -07:00
Nikolaj Bjorner 80f24c29ab debugging reordering
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-18 08:52:03 -07:00
Christoph M. Wintersteiger 01f642a6f3 Backward compatibility 2017-10-16 18:19:55 +01:00
Nuno Lopes 912a729097 fix build of unit tests 2017-10-16 00:54:30 +01:00
Nikolaj Bjorner 9f9ae4427d add cce
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-15 15:13:43 -07:00
Nikolaj Bjorner 1109316621 fixing projection
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-14 15:53:25 -07:00
Nikolaj Bjorner 7f8a7c3d83 fix the fixme of #1307
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-14 11:59:09 -07:00
Nikolaj Bjorner 09fdfcc963 adding bdd package
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-14 11:40:20 -07:00
Nikolaj Bjorner d7b6373601 adding bdd package
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-14 10:41:17 -07:00
Nikolaj Bjorner 6ecd77d91c Merge branch 'master' of https://github.com/z3prover/z3 2017-10-12 14:17:57 -07:00
Nikolaj Bjorner 3554554533 command to exit tests early
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-12 14:17:52 -07:00
Nikolaj Bjorner d338fab4f6 fix #1305
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-12 13:58:14 -07:00
Nikolaj Bjorner 11f1a81d7b disable failing unit tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-12 10:12:37 -07:00
Nikolaj Bjorner 6a09040a8e Merge branch 'master' of https://github.com/Z3Prover/z3 2017-10-12 07:39:38 -07:00
Nikolaj Bjorner da2b876acb fix #1303
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-12 07:39:27 -07:00
Dan Liew a3b109cc14 [ASan] Fix some leaks reported in the small object allocator
test.
2017-10-11 19:40:16 +01:00
Nikolaj Bjorner c1b243a8e3 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-07 19:24:30 +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 ced2029ae9 local changes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-25 16:37:15 -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 2751cbc270 n/a
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-23 22:36:36 -05:00
Nikolaj Bjorner edb3569599 updates to sorting networks
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-23 22:36:19 -05: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 6d51265d9d Cleaned up LP test code. 2017-09-17 17:14:30 +01:00
Christoph M. Wintersteiger 00651f8f21 Tabs, formatting. 2017-09-17 14:54:09 +01:00
Nikolaj Bjorner 9f5bd2feda fix front-end for datatype
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-05 19:58:05 -07:00
Nikolaj Bjorner 06087c17be support for legacy datatype test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-05 10:28:11 -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 d940516df3 fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-27 11:01:45 -07:00
Nikolaj Bjorner bcf229dcfd removing dependencies on simplifier
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-26 11:23:41 -07:00
Nikolaj Bjorner ee00852151 fix compilation of tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-17 21:09:23 -07:00
Nikolaj Bjorner 4d07fa5db3 use ifdef instead of if for _TRACE
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-01 12:46:38 -07:00
Nikolaj Bjorner be8add44e9 instrument unit test to use reproducible random number generator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-01 12:42:08 -07:00
Christoph M. Wintersteiger 81a7f37acc Fixed LP tests 2017-08-01 18:33:47 +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
Nikolaj Bjorner 6dbfdf3e9c Merge branch 'master' of https://github.com/z3prover/z3 into opt 2017-07-27 17:03:04 -07:00
Nikolaj Bjorner b482dbd589 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-27 17:02:27 -07:00
Nikolaj Bjorner 6558999cef fixes #1171
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-27 08:46:20 -07:00
Nikolaj Bjorner b1298d7bde ensure that assertions within the unit tests are exercised in all build modes, remove special handling of SASSERT for release mode #1163
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-26 20:28:55 -07:00
Nikolaj Bjorner 30b0d5ba13 Merge branch 'master' of https://github.com/z3prover/z3 2017-07-24 10:49:54 -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
Lev Nachmanson 2fe846d9fc fix a bug in the lar_solver::m_status update during push/pop
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2017-07-10 16:34:23 -07:00
Lev Nachmanson cc32e45471 replace lean to lp
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2017-07-10 11:06:37 -07:00
Nikolaj Bjorner cba9a160d3 deal with warning messages
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-04 19:42:22 -07:00
Nikolaj Bjorner bd92797663 fix compiler warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-04 15:25:59 -07:00
Nikolaj Bjorner a1306eaab6 fix compiler warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-04 13:17:37 -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 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 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
Nikolaj Bjorner 181911463e Merge branch 'opt' of https://github.com/nikolajbjorner/z3 into opt 2017-06-02 10:40:19 -07:00
Nikolaj Bjorner 3ce82ea8ce merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-02 10:37:22 -07:00
Nikolaj Bjorner 0ac80fc042 have parser produce ast-vector instead of single ast
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-01 21:21:05 -07:00
Nikolaj Bjorner e0a86ccc1a add lrb/chb and experiment with them
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-28 10:48:31 -07:00
Nikolaj Bjorner 3f89c1418b fix test build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-23 12:51:14 -07:00
Nikolaj Bjorner f698efa403 Merge branch 'master' of https://github.com/z3prover/z3 into opt 2017-05-22 12:59:36 -07:00
Nikolaj Bjorner f90ae40480 Merge branch 'master' of https://github.com/NikolajBjorner/z3 into opt 2017-05-22 12:53:19 -07:00
Lev Nachmanson b92f0acae3 fix add_constraint and substitute_terms_in_linear_expression
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2017-05-18 10:56:50 -07:00
Lev Nachmanson d28b8b33b4 add file
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2017-05-17 11:04:35 -07:00
Lev Nachmanson 9a58eb63cb resurrect lp_tst in its own director lp
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2017-05-17 11:01:04 -07:00
Nikolaj Bjorner 64f3b3e316 remove lp_main from test branch to ensure test build only builds a single entry point
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-12 07:59:16 -07:00
Nikolaj Bjorner 29a49f4427 convert static random fields to non-static
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-11 16:46:07 -07:00
Nikolaj Bjorner 6e021781cd fix build issues part 3
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-11 07:49:41 -07:00
Nikolaj Bjorner 2a905e02c8 fix build issues part 1
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-11 07:38:52 -07:00
Lev Nachmanson b08f094620 merging with the lp fork
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2017-05-10 16:53:25 -07:00
Nikolaj Bjorner c5f1f8ba59 missing files
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-09 14:14:58 -07:00
Nikolaj Bjorner 911b24784a merge LRA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-09 10:46:11 -07:00
Nikolaj Bjorner b915f78281 merge with master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-07 17:05:57 -07:00
Murphy Berzish 41a242fab1 Merge branch 'upstream-master' into develop
Conflicts:
	src/smt/params/smt_params.h
	src/smt/params/smt_params_helper.pyg
	src/smt/smt_case_split_queue.cpp
	src/smt/smt_context.h
	src/smt/smt_setup.cpp
	src/smt/smt_setup.h
2017-05-03 17:03:13 -04:00
Nikolaj Bjorner eeb79e1c3c update to retain original behavior
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-02 19:30:54 -07:00
Nikolaj Bjorner 561a4331a8 add back use of all variables for tracking
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-02 16:36:05 -07:00
Nikolaj Bjorner 21cda27f5e fix quadratic behavior of extract_assumptions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-02 15:57:31 -07:00
Murphy Berzish 0862949e66 Merge branch 'upstream-master' into develop
Conflicts:
	src/smt/params/smt_params.cpp
	src/smt/params/smt_params.h
	src/smt/smt_context.cpp
	src/smt/smt_context.h
2017-05-01 21:33:23 -04:00
Nikolaj Bjorner d14f2af5ae deal with subtraction that manages to sneak in. Issue #996
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-01 15:22:06 -07:00
Nikolaj Bjorner bd1b930d7a swap argument order of chunk with file
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-30 11:00:03 -07:00
Nikolaj Bjorner fa868e058e fix bound bug #991
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-29 17:39:02 -07:00
Murphy Berzish d2ae94935e Merge branch 'upstream-master' into develop
Conflicts:
	src/ast/rewriter/seq_rewriter.cpp
	src/ast/seq_decl_plugin.h
2017-04-28 13:43:14 -04:00
Nikolaj Bjorner 8205b45839 initial integration of opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-27 19:13:00 -07:00
Nikolaj Bjorner d3b30968fa added chunk based backbone utility
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-26 16:55:56 -07:00
Murphy Berzish d16b20d62b Merge branch 'upstream-master' into develop 2017-04-26 17:21:10 -04:00
Nikolaj Bjorner 8032217fd1 tuning and fixing consequence finding, adding dimacs evaluation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-26 13:53:37 -07:00
Nikolaj Bjorner b70096a97f testing double lookahead
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-31 17:22:44 -07:00
Nikolaj Bjorner 6571aad440 debugging double lookahead and autarkies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-31 07:21:59 -07:00
Nikolaj Bjorner 2afd45b3c2 working on lookahead
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-27 04:53:27 +02:00
Nikolaj Bjorner 5c6cef4735 fix local search
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-14 13:47:01 -07:00
Nikolaj Bjorner 0c7603e925 fix build of tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-13 14:39:12 -07:00
Nikolaj Bjorner 31c68b6e23 updates
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-27 23:19:58 -08:00
Nikolaj Bjorner c22359820d latest updates from Cliff
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-27 16:37:31 -08:00
Nikolaj Bjorner e407b81f70 update for layout
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-24 15:56:04 -08:00
Nikolaj Bjorner 54f145b364 initialize
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-22 15:11:18 -08:00
Nikolaj Bjorner 43ddad0ecd initial pass
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-22 14:57:25 -08:00
Nikolaj Bjorner 748ada2acc adding unit test entry point
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-22 11:46:47 -08:00
Murphy Berzish 235ea79043 Merge branch 'upstream-master' into release-1.0
Conflicts:
	src/cmd_context/check_logic.cpp
	src/cmd_context/cmd_context.cpp
	src/cmd_context/cmd_context.h
	src/smt/params/smt_params_helper.pyg
	src/smt/smt_context.cpp
2017-02-18 15:04:44 -05:00
Nikolaj Bjorner c347018cb8 testing lookahead
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-12 11:49:30 -08:00
Nikolaj Bjorner 42deeb3498 testing lookahead
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-12 11:49:07 -08:00
Nikolaj Bjorner 61ade5e6cb tune cardinality solver for cache misses
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-06 20:57:08 -08:00
Christoph M. Wintersteiger 8f95ee01e1 Removed polynomial factorization test cases. Relates to #852 and fixes #865. 2017-01-10 14:02:59 +00: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
Christoph M. Wintersteiger ed5137ffd2 build fix 2016-11-01 11:23:42 +00:00
Christoph M. Wintersteiger c7fddf80c2 fixed unhandled case warning in test/qe_arith.cpp 2016-10-25 14:34:00 +01:00
Christoph M. Wintersteiger 79f1d7b4d4 fixed GCC build issue in tests 2016-10-24 15:27:47 +01:00
Nikolaj Bjorner 3778048eb4 add bounded-int and pb2bv solvers to fd_solver, use sorting networks for pb2bv rewriter when applicable, hoist to pb2bv_rewriter module and remove it from the pb2bv_tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-23 20:31:59 -07:00
Nikolaj Bjorner 23b9d3ef55 fix at-most-1 constraint compiler bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-22 18:50:16 -07:00
Nikolaj Bjorner 881e82e3fa remove legacy interface to dt2bv tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-18 23:04:17 -04:00
Nikolaj Bjorner d060359f01 add fd solver for finite domain queries
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-18 22:34:34 -04:00
Nikolaj Bjorner 9e4450228e adding unit test for enumeration types
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-17 14:52:37 -04:00
Nikolaj Bjorner 4cae91b096 spacing, unit test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-17 08:07:23 -04:00
Nikolaj Bjorner fe14a22baa adding enumeration tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-16 22:19:59 -04:00
Nikolaj Bjorner aec59e4ff7 add consequence finding to inc-sat-solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-16 15:43:28 -04:00
Nikolaj Bjorner 8d2b70a5e2 better encodings for at-most-1, #755
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-10 23:46:03 -07:00
Nikolaj Bjorner 9fa7cd48e9 Merge pull request #747 from LocutusOfBorg/patch-2
fix build with new gcc and clang compilers
2016-09-27 18:07:57 -07:00
Gianfranco Costamagna 4817b87b7d fix build with new gcc and clang compilers 2016-09-26 08:06:38 +02:00
Gianfranco Costamagna 9c48fbba2e Update mpff.cpp to fix build with clang and new gcc 2016-09-26 08:05:15 +02:00
Nikolaj Bjorner 0997eba700 adding hash/eq to uint_set
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-27 13:41:41 -07:00
Nikolaj Bjorner 7fc294d329 move arithmetical mbp functionality to model_based_opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-26 14:30:35 -07:00
Christoph M. Wintersteiger 89b1d7d8da Fixed test case 2016-06-22 18:52:40 +01:00
Murphy Berzish d79837eed0 Merge branch 'develop' into upstream-master
Conflicts:
	.gitignore
	README
	src/ast/ast_smt2_pp.h
	src/ast/ast_smt_pp.cpp
	src/ast/reg_decl_plugins.cpp
	src/cmd_context/cmd_context.cpp
	src/parsers/smt2/smt2parser.cpp
2016-06-01 17:40:52 -04:00
Nikolaj Bjorner 339cd6e537 mbo
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-20 13:45:50 -07:00
Nikolaj Bjorner 044e08a114 adding unit tests for qe_arith/mbo
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-04 11:17:09 -07:00
Nikolaj Bjorner 67e49b4adc fixing model-based-opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-01 17:15:20 -07:00
Nikolaj Bjorner 22507281cf fix model generation in opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-30 12:23:46 -07:00
Nikolaj Bjorner 4b940bde11 fix compilation of unit tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-30 11:46:25 -07:00
Nikolaj Bjorner 932ef442ae model based opt dev
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-28 09:47:55 -07:00
Nikolaj Bjorner 6aa6102891 factor out model-based-opt code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-27 15:08:10 -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 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 70f13ced33 make proto-model evaluation use model_evaluator instead of legacy evaluator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-05 10:14:15 -08:00
Nikolaj Bjorner a25336a899 fix test build, working on rec-functions and automata complementation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-01 22:31:44 -08:00
Christoph M. Wintersteiger c2ab9b72dc resource-limit related fixes in src/test 2015-12-18 18:43:38 +00:00
Nuno Lopes d9cd01f3f7 remove a few leftovers from min aggregation cleanup
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2015-12-09 09:28:17 +00:00
Nikolaj Bjorner fd8fd40669 fix tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-11-20 08:00:01 -08:00
Christoph M. Wintersteiger eff776acd9 Fixed #include of <hash_set> which is deprecated in VS2015 and will be removed.
Detailed error:
...\VC\INCLUDE\hash_set(17): error C2338: <hash_set> is deprecated and will be REMOVED. Please use <unordered_set>. You can define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS to acknowledge that you have received this warning. (compiling source file ..\..\..\src\test\hashtable.cpp).
2015-10-27 17:11:40 +00:00
Nikolaj Bjorner 7b95d6894a comment out unit test that depends on hard-wired path
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-10-04 16:34:23 -07:00
Nikolaj Bjorner 1bb9864d0f comment out diverging portion of unit test. Issue #210
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-10-04 11:24:22 -07:00
Christoph M. Wintersteiger c636c87e4d Eliminated unused variable 2015-10-04 15:51:27 +01:00
Christoph M. Wintersteiger b20224bc98 Removed or commented unused functions and variables. 2015-10-04 15:21:17 +01:00
Christoph M. Wintersteiger fbac183e32 eliminated unused variable 2015-10-04 15:16:41 +01:00
Christoph M. Wintersteiger 4857de6c81 fixed buggy if condition 2015-10-04 15:16:03 +01:00
Nikolaj Bjorner 459e456f66 disable memory finalization after quant_solve unit test. Related to issue #210
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-10-03 17:37:33 -07:00
Nikolaj Bjorner 62a4737d77 disable code in dl_query that depends on hard-wired file path
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-10-03 17:30:12 -07:00
Nikolaj Bjorner 074ff58739 include rlimit in nlsat, include dedicated error message, for issue #216
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-09-29 09:27:34 -07:00
Christoph M. Wintersteiger 0cf18ab18e Propagated rlimit changes to sat::solver into sat_user_scope tests 2015-09-29 11:50:10 +01:00
Nikolaj Bjorner ad16cc0ce2 fix unit test for datalog parser, fixes issue #224
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-09-28 11:16:55 -07:00
Murphy Berzish 02345ee5f1 fix string constant representation in parser
spec1 loopback OK
2015-09-03 00:17:05 -04:00
Murphy Berzish 1f96e19211 failing test case: SMT2 parse string constants 2015-09-02 18:55:45 -04:00
Nikolaj Bjorner 4bc044c982 update header guards to be C++ style. Fixes issue #9
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-07-08 23:18:40 -07:00
Nikolaj Bjorner e2adcc19ec fix unit test for default exception
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-07-06 22:52:44 -07:00
Nikolaj Bjorner c3e666bc44 fix build break
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-24 07:40:23 +02:00
Nikolaj Bjorner 18374aa12a deal with unit test failure cases, fixes #132 #133
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-17 17:30:10 -07:00
Matthias Schlaipfer 32a00a7062 Fixed a bug in udoc_relation's join project
An optimization was applied in too many cases and led to wrong results.

Signed-off-by: Matthias Schlaipfer <t-matsch@microsoft.com>
2015-06-17 17:14:23 +01:00
Alex Horn bd57994f78 Merge branch 'unstable' of https://github.com/Z3Prover/z3 into minimum
Signed-off-by: Alex Horn <t-alexh@microsoft.com>

Conflicts:
	src/test/dl_table.cpp
2015-06-10 20:35:28 +01:00
Nikolaj Bjorner b08ccc7816 added missing Copyright forms
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-10 11:54:02 -07:00
Alex Horn 140fb7942d Add datalog infrastructure for min aggregation function
This patch adds an instruction to the datalog interpreter and
constructs a new AST node for min aggregation functions.

The compiler is currently still work in progress and depends on
changes made to the handling of simple joins and the preprocessor.

Signed-off-by: Alex Horn <t-alexh@microsoft.com>
2015-06-10 18:14:14 +01:00
Nuno Lopes 08b5635327 fix unaligned load in hash_string()
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2015-05-23 12:13:39 +01:00
Nuno Lopes 4c7fea7e55 fix 'make test' for newer gcc versions
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2015-05-19 13:48:14 +01:00
Nikolaj Bjorner 4d3d9f7602 include compression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-05-11 20:32:39 -07:00
Nikolaj Bjorner c96c4c7af7 Merge branch 'opt' of https://github.com/Z3Prover/z3 into opt 2015-05-11 17:12:04 -07:00
Nikolaj Bjorner bf6ab3fc03 local state
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-05-11 17:11:52 -07:00
Nikolaj Bjorner e53462c1c1 update ddnf experiment code
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-05-11 17:11:21 -07:00
Nikolaj Bjorner 1a4e8f89bd fix release build failure
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-05-10 14:53:05 -07:00
Nikolaj Bjorner 839e3fbb7c add ddnf tests, add facility to solve QF_NRA + QF_UF(and other theories) in joint solver to allow broader use of QF_NRA core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-05-09 19:40:34 -07:00
Nikolaj Bjorner 9377779e58 merge with unstable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-04-30 10:40:03 -07:00
Nikolaj Bjorner 620c11932b type check distinct operator. fixes #62
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-04-27 11:10:37 -07:00
Nuno Lopes f7d9438e7b add failing test for issue #62 (mk_distinct doesnt type check)
Signed-off-by: Nuno Lopes <nlopes@MSRC-3617536.europe.corp.microsoft.com>
2015-04-27 17:44:38 +01:00
Nikolaj Bjorner 9978cba5a8 Codeplex issue 191: inconsistent results from PDR engine. The report exposed bugs in the implementation of the priority queue leaving unexplored leaves durin search. The priority queue has now been revised to address the exposed bugs
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-04-01 16:27:15 -07:00
Nuno Lopes a211fcfb9e muZ/datalog/udoc: fix bug in join_project
The bug was that we could project out don't care columns and don't take copied bits into account.
Bug reported by Ari Fogel

Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-12-28 17:05:17 +00:00
Nuno Lopes 60aad7a662 DoC: verify the result of a bunch of unit tests with SMT
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-09 09:44:27 +01:00
Nikolaj Bjorner d038c7bf89 fixing udoc/adding tuned join_project
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-08 22:07:19 -07:00
Nikolaj Bjorner 2362e01a9f add unit test for join-project
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-08 17:17:14 -07:00
Nuno Lopes de73a4d893 DoC: fix bug in filter_project with '(not (= c1 c2))' style constraints
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-08 11:12:41 +01:00
Nuno Lopes 985ad30349 DoC: reuse code in unit tests from relation checker
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-08 10:06:39 +01:00
Nikolaj Bjorner 7ef311acd3 updated check_relation test for join-project
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-06 13:05:53 -07:00
Nuno Lopes 893d51eae8 DoC: implement slow path of filter_negated using join+project.
disable fast path since it's broken

Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-06 18:10:03 +01:00
Nikolaj Bjorner f3d2535b46 another unit test for Nuno
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-03 16:58:46 -07:00
Nikolaj Bjorner 93a757f45b add two failing test cases
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-02 10:38:43 -07:00
Nuno Lopes 9828b26379 DoC: fix slow path of filter_by_negation when columns are repeated in tgt relation
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-02 09:56:06 +01:00
Nikolaj Bjorner bb15ddbf15 update unit tests to use filter_by_negation verifier from check_relation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-01 15:21:42 -07:00
Nuno Lopes 04b5d436b3 DoC: fix fast path of filter_negated
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-01 18:03:59 +01:00
Nuno Lopes cbe23c428f fix build of unit tests
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-01 16:08:44 +01:00
Nikolaj Bjorner e6725b2344 merge unstable into opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-26 12:12:24 -07:00
Nikolaj Bjorner 74053275cf consolidate rule checking in separate class
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-25 19:05:49 -07:00
Nikolaj Bjorner 16f80fce92 add check_relation for integrity checking of relational operations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-24 01:06:58 -07:00
Nikolaj Bjorner 1111c0494f adding validation code to doc/udoc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-23 17:10:00 -07:00
Nikolaj Bjorner 54506408f9 fix overflow bugs in doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-22 22:03:59 -07:00
Nikolaj Bjorner 83e7107485 fix bugs in doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-22 17:45:01 -07:00
Nikolaj Bjorner 4cf8905a8f fixing join
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-22 11:08:23 -07:00
Nikolaj Bjorner 75b11d2b75 fix bugs in doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-22 03:22:26 -07:00
Nikolaj Bjorner 22808a039d working on udoc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-21 20:25:11 -07:00
Nikolaj Bjorner a50cbef877 testing doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-20 19:01:15 -07:00
Nikolaj Bjorner 2552c1530b doc unit tests pass
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-20 10:19:54 -07:00
Nikolaj Bjorner f94bdf4035 updated unit tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-20 01:05:43 -07:00
Nikolaj Bjorner 2b2ba2d541 unit testing doc relation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-19 21:55:20 -07:00
Nikolaj Bjorner 25914c0492 testing filter interpreted
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-19 18:18:40 -07:00
Nikolaj Bjorner 5679cc7567 move doc code to rel, adding unit test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-19 11:00:30 -07:00
Nikolaj Bjorner 6db3ca1236 unit test merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 21:58:11 -07:00
Nikolaj Bjorner 0d5b1637ba debug projection
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 20:45:13 -07:00
Nikolaj Bjorner b524603287 local
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 15:47:09 -07:00
Nikolaj Bjorner 8154fc24e1 testing projection
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 15:42:30 -07:00
Nikolaj Bjorner 53ac452253 doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 06:39:59 -07:00
Nikolaj Bjorner 9116d38628 doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 06:07:03 -07:00
Nikolaj Bjorner 9a3a1835cc doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 05:52:09 -07:00
Nikolaj Bjorner 2a00f2b38c adding unit tests for doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 05:19:52 -07:00
Nikolaj Bjorner d9dafe7b94 tbv utilities
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-15 21:23:03 -07:00
Nikolaj Bjorner cd12fa8461 adding fixed size bit-vectors
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-15 20:00:45 -07:00
Nikolaj Bjorner 770d0d58fe bug fixes to sorting network
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-11 21:53:12 -07:00
Nikolaj Bjorner e288b7795d add to unit test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-11 20:33:37 -07:00
Nikolaj Bjorner 019ff77613 fix sorting network bug, add network compilation,...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-11 18:47:21 -07:00
Nikolaj Bjorner 180b0d4ec9 add sls
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-08-12 19:24:31 -07:00
Nikolaj Bjorner 4f0de9a0cf implement user scopes for sat solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-07-30 09:27:03 -07:00
Nikolaj Bjorner 960e8ea1d5 working on hitting sets
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-06-08 14:12:54 +01:00
Nikolaj Bjorner 05a39cb2cf fix wrong simplex backtracking
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-05-09 08:51:07 -07:00
Nikolaj Bjorner 480ec049c0 working on simplex
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-02-02 14:11:35 +01:00
Nikolaj Bjorner 9ba4b532f6 testing simplex
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-02-02 13:48:02 +01:00
Nikolaj Bjorner 363af825c0 working on stand-alone simplex
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-01-26 20:25:36 -08:00
Nikolaj Bjorner 26a3d2ca31 add stand-alone simplex
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-01-21 08:40:28 -08:00
Nikolaj Bjorner 4027de42f6 add optimized sorting network
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-12-30 13:06:58 -08:00
Nikolaj Bjorner 759d80dfe3 fix regression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-11-07 12:15:51 -08:00
Nikolaj Bjorner c57594d463 tested network sorting
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-11-07 10:47:12 -08:00
Nikolaj Bjorner 3ee8c3efb5 pb/car constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-11-07 00:53:08 -08:00
Nikolaj Bjorner 1733af2641 test case for non-termination of substitution/rewriting
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-09-24 05:33:16 +03:00
Nikolaj Bjorner 6554ac787a add test case for substitution
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-09-24 05:13:11 +03:00
Nikolaj Bjorner be044f42c3 Fix build of test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-09-15 04:24:20 -07:00
Nikolaj Bjorner 419f99c329 fix bug found by Ethan: fresh values for bit-vectors loops if the domain of bit-vectors is truly small
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-09-13 15:30:56 -07:00
Nikolaj Bjorner 8ab04fb05b testing qe_arith
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-09-12 15:27:09 -07:00
Nikolaj Bjorner 196aed785e fixes for qe_arith
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-09-12 13:27:31 -07:00
Nikolaj Bjorner 4af4466821 add qe_arith routine for LW projection on monomomes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-09-12 12:19:46 -07:00
Nikolaj Bjorner 878905c13c Adding overflow checks
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-09-02 19:43:22 -07:00
Nikolaj Bjorner 0d56499e2d re-organize muz_qe into separate units
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-08-28 21:20:24 -07:00
Nikolaj Bjorner 6c5f7741b2 more on polynorm
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-08-14 11:55:23 -07:00
Nikolaj Bjorner a20656de35 fix unused variable warning in unit test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-08-10 10:57:25 -07:00
Nikolaj Bjorner d94f1b3fd6 add normalizer of monomial coefficients
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-08-10 10:50:03 -07:00
Nikolaj Bjorner dc58bce052 initial test for polynormalization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-08-08 14:09:45 -07:00
Nuno Lopes 7ce88d4da9 fix a few compilation warnings
- remove unused variables and class fields
 - add support for gcc 4.5 & clang's __builtin_unreachable
 - fix 2 bugs related to strict aliasing
 - remove a few unused function parameters

Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-21 14:36:39 -07:00
Nikolaj Bjorner a054b099c1 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-11 13:44:30 -07:00
Nikolaj Bjorner 18ea547cea compiler optimization and fixes to unit tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-11 13:44:23 -07:00
Leonardo de Moura 440f8b0df4 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-10 19:03:34 -07:00
Leonardo de Moura f6f59ad6bc Fix memory allocation problems in RCF module
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-04-10 19:03:25 -07:00
Nikolaj Bjorner 6a36116b5c stash 2013-04-09 10:16:37 -07:00
Nikolaj Bjorner 9456f16a4c overhaul urle_set
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-09 10:15:20 -07:00
Leonardo de Moura 3d34aa7f01 Fix is_int64 bug in mpz when compiling with GMP
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-04-08 14:50:17 -07:00
Nikolaj Bjorner 8f46179def reorganization of rule_set structure
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-08 13:50:56 -07:00
Nikolaj Bjorner afd83f41b8 fix compiler warnings and errors
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-03 17:03:07 -07:00
Nikolaj Bjorner cd48a5164e fix bug in hilbert_basis reset method. Missing reset of m_iseq
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-03-29 17:05:17 -07:00
Nikolaj Bjorner 6ed266e4de debugging karr invariants
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-03-29 08:53:46 -07:00
Nikolaj Bjorner 00e79e6b6b test hilbert-basis with fdds and checked integers
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-03-26 17:31:11 -07:00
Nikolaj Bjorner 6084cbd065 fix build breaks
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-03-24 11:25:43 -07:00
Nuno Lopes 7e0723e42b add unit test for previous commit
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-03-22 11:51:28 -07:00
Nikolaj Bjorner 75eca46d93 added Karr test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-02-27 17:32:27 -08:00
Nikolaj Bjorner 5598f334d4 optimizations to Hilbert basis
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-02-26 17:01:49 -08:00
Nikolaj Bjorner 562ae7bec5 faster saturation without backwards subsumption and using SOS-style set
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-02-24 21:52:10 -08:00
Nikolaj Bjorner 0aa8df98a1 optimizing hilbert basis
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-02-18 18:58:43 -08:00
Nikolaj Bjorner 306855ba55 fix hilbert_basis tests and add heap_trie index
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-02-16 22:45:37 -08:00
Nikolaj Bjorner 47342e5d0c move validation code to unit test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-02-15 17:46:22 -08:00
Nikolaj Bjorner a242ac46b6 hilbert validation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-02-15 15:05:39 -08:00
Nikolaj Bjorner aaf0c16e08 working on hilbert basis
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-02-15 09:09:58 -08:00
Nikolaj Bjorner 6e7d04f94e working on hilbert basis
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-02-14 15:06:17 -08:00
Nikolaj Bjorner 0c641cdf95 hilbert basis experiment
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-02-13 16:53:56 -08:00
Nikolaj Bjorner 706cbd3872 hilbert basis
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-02-12 21:45:20 -08:00
Nikolaj Bjorner 0879c6f052 updating tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-02-12 18:13:02 -08:00
Nikolaj Bjorner 0fc44a43e1 add hilbert basis utility for extracting auxiliary invariants
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-02-12 14:58:44 -08:00
Nikolaj Bjorner a14f29a4eb add hilbert basis utility for extracting auxiliary invariants
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-02-12 14:58:04 -08:00
Leonardo de Moura 4a57050380 Fix rcf test
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-28 15:26:48 -08:00
Nikolaj Bjorner af4c09c8d3 update substitution routines
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-01-21 21:59:20 -08:00
Nikolaj Bjorner 8daf100c65 working on tab Horn solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-01-17 18:03:34 -08:00
Leonardo de Moura 1d761ea9a5 Add clean_denominators procedure
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-12 15:45:43 -08:00
Leonardo de Moura 191de6f7b5 Fix test program
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-10 08:01:42 -08:00
Leonardo de Moura b662bc8dc7 Add lower and upper bounds for negative and positive roots
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-09 11:16:04 -08:00
Leonardo de Moura 9c8b428ffb Add matrix operations needed for implementing non-naive sign determination
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-08 17:58:34 -08:00
Leonardo de Moura f1d47f35b2 Add refine interval infrastructure
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-06 18:30:41 -08:00
Leonardo de Moura ecb58091f7 Add support for transcendental values such as pi and e, and the power operator
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-05 21:26:12 -08:00
Leonardo de Moura ae1da72cb7 Implement compare
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-05 20:21:49 -08:00
Leonardo de Moura 3ffda25350 Implement add, sub, mul, div, inv, neg
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-05 18:43:57 -08:00
Leonardo de Moura 14827e94f0 Fix typos and bugs. Add tests.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-04 15:01:27 -08:00
Leonardo de Moura ff62948d90 Add div and inv for binary rational intervals
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-04 12:31:28 -08:00
Leonardo de Moura 0203fa56d2 Add tests
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-04 08:11:33 -08:00
Leonardo de Moura d92efeb0c5 Make ast_manager::get_family_id(symbol const &) side-effect free. The version with side-effects is now called ast_manager::mk_family_id
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-12-18 17:14:25 -08:00
Nikolaj Bjorner 635aabf2d5 fix get_implied equalities and the unit test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2012-12-11 21:39:31 -08:00