Lev Nachmanson
a6040a1f3d
cautious remove_basis
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
a53ed5bddd
change try_patch to a template
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
b84585beeb
more aggressive patching
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
e5503cdc65
change try_patch to a template
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
2710afbea1
change try_patch to a template
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Nikolaj Bjorner
d372af4782
add stub for cheap equality propagation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-30 15:36:27 -07:00
Lev Nachmanson
caa384f6c9
make m_inf_set private and cosmetic improvements in nla patching
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-26 12:44:47 -07:00
Lev Nachmanson
97b480ded3
Expl ( #4462 )
...
* cleaner API for explanation
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* remove an unnecessery check
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* expl
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-24 17:06:39 -07:00
Lev Nachmanson
af2f74c05f
smarter explanation.h ( #4385 )
...
* smarter explanation.h
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* clean explanation API
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* suppress warnings
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* disable the warnings
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-19 12:38:44 -07:00
Lev Nachmanson
f2449df06e
introduce ul_pair associated_with_row
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-05 15:59:09 -07:00
Lev Nachmanson
97fe2c8609
remove an assert
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-28 15:27:49 -07:00
Lev Nachmanson
d5162d92ad
add an assert
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-28 15:27:49 -07:00
Lev Nachmanson
aa0f5db511
fixes
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-28 15:27:49 -07:00
Lev Nachmanson
f8037ffda4
always call find_feasible_solution in move_nbasic_columns_to_bounds()
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-28 15:27:49 -07:00
Lev Nachmanson
ba40a5752f
better branching with usage_in_terms()
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-28 15:27:49 -07:00
Lev Nachmanson
530f77281c
fixes in branching
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-26 16:13:47 -07:00
Lev Nachmanson
8c5993d9a6
max term
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-23 18:40:16 -07:00
Lev Nachmanson
8921ed56b5
fix a bug in Horner heuristic
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-23 15:58:53 -07:00
Lev Nachmanson
5208b64a6b
expose only necessary methods of lar_solver
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-16 12:58:39 -07:00
Lev Nachmanson
6d8e5400fd
return an empty model when the status of the solver is neither FEASIBLE nor OPTIMAL
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-16 12:58:39 -07:00
Lev Nachmanson
7caae3f5d2
small improvements in tableau in rows and bound propagation
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-13 16:04:25 -07:00
Nikolaj Bjorner
9b609af8fc
fix #3924
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-12 16:19:54 -07:00
Lev Nachmanson
5c9fd90031
work on random_updates
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-07 19:50:50 -07:00
Nikolaj Bjorner
c2e5cd78c8
change lar_terms to use column indices
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 12:13:59 -07:00
Nikolaj Bjorner
080dbb13b0
tv alignment, code review comments
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 03:35:19 -07:00
Nikolaj Bjorner
0735491557
path fix #3747 , this patches incoherent behavior of terms / ival from lar_solver. The variables occurring in terms are mapped to columns and not as original variables/terms. theory_lra has to interact with the column_corresponds_to_term test instead of relying on the terms themselves carrying the relevant information
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-04 14:27:56 -07:00
Lev Nachmanson
9d58fccd41
fix in random_update()
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-03 12:43:20 -07:00
Lev Nachmanson
7890555455
fix in random_update()
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-03 12:37:57 -07:00
Lev Nachmanson
7fe46de266
trace random update
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-03 12:00:19 -07:00
Lev Nachmanson
55329ea935
more fixes in patching of monomials
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-02 14:47:06 -07:00
Nikolaj Bjorner
cc394f0fe9
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-01 03:42:13 -07:00
Lev Nachmanson
cf0952c232
roll back in maximize_term if the integrality is broken
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-30 17:59:45 -07:00
Lev Nachmanson
3e845010dd
replace v by j in lp printouts
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-30 15:59:03 -07:00
Lev Nachmanson
7936df8e0b
pass std::function as const aliases
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-30 12:20:47 -07:00
Lev Nachmanson
9be7bda69a
fix a bug in column patching
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-29 15:03:46 -07:00
Lev Nachmanson
7a950dd667
patch reals
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-29 15:03:46 -07:00
Lev Nachmanson
3237bd9243
better tracing
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-29 15:03:46 -07:00
Lev Nachmanson
f5b62015fc
change the return type of ival.var() to tv
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
ea964e5c3b
rename int_set to u_set
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
bc5b68b16e
convert term indices to columns in lar_solver::add_equality()
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
e2538afd32
better diagnostics in lar_solver and more efficient int_set::resize()
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner
2975873b91
ensure encapsulation boundaries
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
c16d90307b
more careful resize in int_set
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
e0b95979e6
detect the status change in lar_solver::add_equality()
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
38eca3b66a
fixes in order lemmas and printing terms
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
316f2194e0
rename
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner
e50082b484
add tv
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
d758a08497
do not create inf var
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
6c5d7fbe96
fixes in max term with tableau
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
c2e7dd3378
catch the possible infeasible column when adding an equality
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
8af245a410
use a simpler encoding for term indices
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
906d52ca1c
accept term indices as columns in some lar_solver queries
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
f28c80e3b1
reorder fields in lar_solver constructor to avoid a warning
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner
b67d136849
hide flag on registering variables
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
26631ce38d
add a unit test for monics, plus some cosmetic changes
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
719603f185
register inner terms with null var
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
a0251ac745
do not register equality terms created in lar_solver
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
285ff9540d
make sure that the term external index has not been used
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
f636a481d3
fixes in bound setting in cube, and in lar_solver
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
a80eb13420
fixes in bound setting in cube, and in lar_solver
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
6ea0bcb454
round the bound for columns and terms when it can be deduced that they are integral
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
b403b96d38
remove an assert
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
762f265616
merge with master
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner
02b074e28b
compile constraints during internalization
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-07 19:28:17 -08:00
Lev Nachmanson
f45e17c47e
fix column patching
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-02-07 13:42:39 -08:00
Nikolaj Bjorner
8c016abb12
build issues
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-07 11:16:57 -08:00
Nikolaj Bjorner
800bc757ae
isolate constraints in a constraint_set
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-07 09:24:45 -08:00
Nikolaj Bjorner
024ca86386
isolate constraints in a constraint_set
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-07 09:16:14 -08:00
Nikolaj Bjorner
a59745c2f2
isolate constraints in a constraint_set
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-07 09:13:40 -08:00
Lev Nachmanson
06173aa4d7
do not use nl variables in random_update()
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-02-04 11:51:37 -08:00
Lev Nachmanson
a05dec99cf
do not random_update int vars
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-02-03 16:01:56 -08:00
Nikolaj Bjorner
b0a28160f7
fix #2921
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-02 10:35:06 -08:00
Lev Nachmanson
35aa98436f
fix term columns after rounding in cube()
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-30 14:29:36 -08:00
Lev Nachmanson
9694dc0c74
change in the test lp.cpp and in a trace statement
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-29 11:03:18 -08:00
Lev Nachmanson
8ebeaf03b4
rebase with Z3Prover/z3/master
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
30d35488d8
get_rid or inf eps
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
0e86c567cc
prepare the mixed case
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
d310ae9060
rebase with Z3Prover
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
0b1023c2c7
do not add row with free basic vars in grobner, more tracing
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
687f30a2ce
debug grobner and improve printing
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
868ea58aef
start porting grobner basis functionality
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
006c53e484
remove a wrong assert from lar_solver.cpp
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
f4e7002ea3
forgotten changes after a rebase
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
1b8b09cddb
fixes in horner's heuristic
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
207c1c509f
fixes in horner's heuristic
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
c95f66e02a
toward fetching existing terms intervals from lar_solver
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
dfe0e85629
toward fetching existing terms intervals from lar_solver
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
3c5b1086a1
fix remove lar_solver::add_constraint
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
87cc5c8d96
fix a bug in nla_expr
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
130995a3db
print terms as monomials
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
3f6ecfb3b6
generate lemmas from nla_intervals
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
c121c5d2d8
remove dead code
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
6a6cb3822c
before getting explanations for monomials upper and low bounds
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
02133bbcc5
before getting explanations for monomials upper and low bounds
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
9c18ede687
hook up nla_solver it lp bound propagation
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
33cbd29ed0
mv util/lp to math/lp
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00