3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-19 07:09:03 +00:00
Commit graph

811 commits

Author SHA1 Message Date
Lev Nachmanson 2dfb8f53b6 do not add term to hnf if one of the vars has v.y value
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-07-11 10:59:55 -07:00
Nikolaj Bjorner 5e5f46f0f8 handle cancelation from nra_solver gracefully
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-10 17:34:45 -07:00
Lev a4a468660d remove an assert
Signed-off-by: Lev <levnach@hotmail.com>
2018-07-10 12:05:23 -07:00
Lev c4c52ad104 enable printing in Release
Signed-off-by: Lev <levnach@hotmail.com>
2018-07-09 20:49:16 -07:00
Lev Nachmanson 5c712d471f create hnf cuts too, when gomory_cut_period is 2
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-07-09 20:49:16 -07:00
Nikolaj Bjorner fc4627a24f force the new arithmetic solver for QF_LIA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-09 16:33:48 -07:00
Nikolaj Bjorner 567fbac27f add back old multiplication for comparison
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-09 14:33:32 -07:00
Nikolaj Bjorner efe440839e Merge branch 'master' of https://github.com/z3prover/z3 2018-07-09 09:19:37 -07:00
Nikolaj Bjorner 605dcc40a3 fix #1741
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-09 09:19:13 -07:00
Nikolaj Bjorner 4b802fd5cd
Merge pull request #1740 from alexanderjsummers/master
Added return value to bool-typed function
2018-07-09 09:05:52 -07:00
Nuno Lopes 009708ed07 remove unneeded creation of tmp mpz_manager 2018-07-09 10:52:27 +01:00
alexanderjsummers d6a3afd2a1
Added return value to bool-typed function
It seems that without this, the build fails with a default Visual C++ on Windows; see https://docs.microsoft.com/en-gb/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4716 

Another option would be to add the #pragma directive mentioned there.
2018-07-09 11:30:24 +02:00
Nuno Lopes fd75eccfec don't even bother allocating traces in release mode 2018-07-08 13:21:16 +01: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
Nikolaj Bjorner a0124a079e Merge branch 'master' of https://github.com/z3prover/z3 2018-07-06 01:49:19 -07:00
Nikolaj Bjorner c3035de44e logging in sorting network
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-06 01:49:13 -07:00
Lev Nachmanson 852df6f7d9 reshufle var_register to faster access
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-07-05 16:35:05 -07:00
Nikolaj Bjorner e8e786ae64 remove stale files from lp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-03 20:57:52 -07:00
Nikolaj Bjorner 7e0a7d73f2 remove unused files
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-03 20:53:11 -07:00
Nikolaj Bjorner dfdf7a0e4a update mpz for NO_GMP
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-03 18:31:05 -07:00
Nikolaj Bjorner cb7fb524b2 fix NO_GMP compilation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-03 16:22:29 -07:00
Nikolaj Bjorner a4dfde4671 fix pointer deref
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-03 06:56:37 -07:00
Nikolaj Bjorner 810d63c246 put mpz_cell under ifdef _NO_GMP
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-03 06:54:50 -07:00
Nikolaj Bjorner 3a4200ae5f null -> nullptr
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-02 18:32:03 -07:00
Nikolaj Bjorner ace4dbe32b fix memory leak exposed by tan.smt2
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-02 18:15:39 -07:00
Nikolaj Bjorner c06ed77ff1 fix merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-02 15:37:33 -07:00
Nikolaj Bjorner 03ed33ac02 merge with master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-02 15:31:26 -07:00
Nikolaj Bjorner 4e657b5b7e rename mpz_ptr to mpz_large
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-02 15:29:57 -07:00
Nuno Lopes cef17c22a1 remove some allocs from exceptions 2018-07-02 17:08:02 +01:00
Nikolaj Bjorner 05738702d6 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-02 08:10:47 -07:00
Nuno Lopes fc8193828d minor simplifications to symbol class 2018-07-02 11:43:00 +01:00
Nikolaj Bjorner 2ab0681381 deal with unintialized variable in debug code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-01 19:34:27 -07:00
Nikolaj Bjorner 8895ed7122 remove unintialized variable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-01 18:34:02 -07:00
Nikolaj Bjorner b6054b8406 add has_value utility to retrieve value from solver state
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-01 17:03:58 -07:00
Nikolaj Bjorner 5a2a8d7d5c
Merge pull request #1715 from levnach/master
merge lar_solver/int_solver
2018-07-01 12:20:02 -07:00
Nikolaj Bjorner 080bf79fe6
Merge pull request #1705 from trinhmt/master
created pull from Trinh's seq solver
2018-06-30 04:53:14 -07:00
Lev Nachmanson f2e878047d avoid a crash in maximize_term when the term var has not been used
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-29 13:33:31 -07:00
Lev Nachmanson d80f6e3222 regression failures fixes
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-29 09:57:29 -07:00
Lev Nachmanson 40a363d249 Nikolaj's changes in rationals
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-28 16:22:40 -07:00
Lev Nachmanson c2f3428373 name change
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-28 15:02:23 -07:00
Lev Nachmanson fd8f972cac grammar
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-28 13:53:38 -07:00
Lev Nachmanson c986dfe97b change in an SASSERT
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-28 13:41:59 -07:00
Nuno Lopes 5de6628a5d remove spurious copies and inc_refs around ref_vector 2018-06-28 10:31:38 +01:00
Lev Nachmanson 7b59e2094d after rebase
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 15:20:25 -07:00
Lev Nachmanson efa149bed1 always apply cube
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 12:19:10 -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