Nikolaj Bjorner
2d1f4d5d93
remove verbose logging
2023-11-07 19:57:49 +01:00
Nikolaj Bjorner
eed02b6d86
improved logging, use C++11 for loops instead of iterators
2023-11-07 19:57:49 +01:00
Lev Nachmanson
f5d9ffaca1
clean up and add clang-format off
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-06-30 11:57:42 -07:00
Nikolaj Bjorner
59bc070268
count gcd conflicts
2023-04-26 10:05:00 -07:00
Nikolaj Bjorner
368d60f553
add branch / cut selection heuristic from solver=2
...
disabled for testing.
2023-04-10 22:14:16 -07:00
Bruce Mitchener
6ba9ada1e2
Fix typos. ( #6291 )
2022-08-21 12:40:07 -07:00
Nikolaj Bjorner
63f48f8fd4
add options for logging learned lemmas and theory axioms
...
- add solver.axioms2files
- prints negated theory axioms to files. Each file should be unsat
- add solver.lemmas2console
- prints lemmas to the console.
- remove option smt.arith.dump_lemmas. It is replaced by solver.axioms2files
2022-08-08 11:18:56 +03:00
Nikolaj Bjorner
4a6083836a
call it data instead of c_ptr for approaching C++11 std::vector convention.
2021-04-13 18:17:35 -07:00
Nikolaj Bjorner
026065ff71
streamline pb solver interface and naming after removal of xor
2021-02-28 12:32:04 -08:00
Nikolaj Bjorner
b7ec4489a6
bv fixes and tuning ( #4703 )
...
* heap size information
* bv tuning
* fix #4701
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* throw on set-has-size #4700
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-21 19:54:53 -07:00
Nikolaj Bjorner
d0e20e44ff
booyah
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
Nikolaj Bjorner
7ada20c65d
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-31 14:15:29 -07:00
Nikolaj Bjorner
2b5247a37b
fix #3625
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-31 12:30:13 -07:00
Nikolaj Bjorner
c0a1a24069
fix #3427 check cancel flag
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-22 16:37:14 -07:00
Nikolaj Bjorner
7996472923
fix ? #3370
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-17 10:38:26 -07:00
Nikolaj Bjorner
611c14844d
fix #3194 , remove euclidean solver
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-08 16:05:13 +01:00
Nikolaj Bjorner
1e92165690
branch selection updates
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-01 10:19:27 -08:00
Nikolaj Bjorner
d4a24aff1e
local
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-31 17:08:52 -08:00
Nikolaj Bjorner
cb21f70cc3
fix #2813
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-20 15:42:03 -08:00
nilsbecker
6ee3941523
more cleanup
2019-02-23 12:08:08 +01:00
nilsbecker
28c03ed1de
logging support for theory axioms
2019-02-21 19:29:35 +01:00
Nikolaj Bjorner
a37d05d54b
fix #1819
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-10 13:53:44 -07:00
Lev Nachmanson
c04bcb411d
no calling cut_solver when there are bounded columns
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
use special bounds inf find_cube for x+y, x-y
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
bug fixes in column patching, add stats to patching, restructure int_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
comment out m_old_values from int_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
avoid calling pivot_fixed_vars_from_basis() in int_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
fix the return value from path_nbasic_columns
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
fix the return value from path_nbasic_columns
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
work in patch_columns
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
work on int_solver check()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
exit from find_free_interval() when l >= u
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
experiment with branching on nbasic columns
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
remove m_old_values
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
add rounding to patch_columns
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
qflia
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
patch all columns, round non-patched, branch or basic columns
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
refactor int_solver::check()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
restore move_non_basic_columns_to_bounds() after a failure in find_cube()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
optimize gomory cuts search
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
produce gomory cuts without moving columns to bounds
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
call find_feasible_solution() after moving columns
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
alway move colums to bounds before gomory cut
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
merge from best branch
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 11:38:40 -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
Nikolaj Bjorner
c513f3ca09
merge with master
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-25 14:57:01 -07:00
Bruce Mitchener
76eb7b9ede
Use nullptr.
2018-02-12 14:05:55 +07:00
Bruce Mitchener
7167fda1dc
Use override rather than virtual.
2018-02-10 09:56:33 +07:00
Nikolaj Bjorner
651587ce01
merge with master branch
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-19 09:39:22 -07:00
Nikolaj Bjorner
cf87b6d622
remove simplifier files
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-29 09:22:27 -07:00
Nikolaj Bjorner
2897b98ed2
remove simplify dependencies
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-26 00:37:22 -07:00
Nikolaj Bjorner
112fa16bc0
fix #1217
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-18 09:19:38 -07:00
Nikolaj Bjorner
b19f94ae5b
make include paths uniformly use path relative to src. #534
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 13:24:11 -07:00
Lev Nachmanson
64e542bd70
fix term indices for the time being when exiting from check()
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2017-07-20 19:13:13 -07:00
Lev Nachmanson
2056404ed4
branch on a free variable before trying Gomory cuts
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2017-07-11 16:44:04 -07:00
Nikolaj Bjorner
4c23527974
Dev ( #63 )
...
* 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>
* return branch from int_solver::check()
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* add a stub for mk_gomory_cut
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* Dev (#59 )
* add handlers for lia moves
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* spacing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* loops
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Dev (#60 )
* add handlers for lia moves
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* spacing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* loops
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* loops
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Dev (#61 )
* add handlers for lia moves
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* spacing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* loops
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* loops
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more TRACE(arith_int)
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* fix the build
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* loops
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Dev (#62 )
* add handlers for lia moves
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* spacing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* loops
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* loops
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* loops
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* build fix
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2017-07-06 08:53:08 -07:00
Nikolaj Bjorner
d754aa2dc4
disable ackerman reduction when head contains a non-constant/non-variable. #947
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-17 10:12:32 -07:00
Nikolaj Bjorner
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
3989d238c0
fix bugs exposed in #677 . to_int(x) has the semantics that to_int(x) <= x, and to_int(x) is the largest integer satisfying this inequality. The encoding in purify_arith had it the other way x <= to_int(x) contrary to how to_int(x) is handled elsewhere. Another bug in theory_arith for mixed-integer linear case was also exposed. Fractional bounds on expressions of the form to_int(x), and more generally on integer rows were not rounded prior to internalization
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-13 20:32:18 -07:00
Nikolaj Bjorner
fe4f3e7772
fix regressions exposed in QF_LIA: manager got initialized early and Euclidean solver is not safe even with some throttle
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-23 20:38:18 -07:00
Nikolaj Bjorner
fd6fe87c5d
enable qe-lite for UFNIA benchmarks
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-22 15:41:21 -07:00
Nikolaj Bjorner
396875bedf
fix compilation problem, issue #297
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-11-06 22:56:53 -08:00
Nikolaj Bjorner
fc592fc856
fix for #291 . The root issue is that the set of antecedents is recycled as a fixed object between routines. Antecedents that were already allocated for a Gomory cut got reset by the internalizer. This causes unsound bounds axioms to be created
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-11-05 15:08:42 -08: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
534271db08
adding parameters to gomory cut axioms
...
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-05-27 14:48:51 -07:00
Nikolaj Bjorner
e483efd3f4
fixes to Euclidean solver, fixes #100
...
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-05-27 09:21:20 -07:00
Nikolaj Bjorner
cb00555635
local changes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-05-27 09:18:52 -07:00
Ken McMillan
4546c3e7bb
merge
2015-05-22 11:01:55 -07:00
Ken McMillan
13a3bdd7a3
fix proof for extended GCD rule
2015-05-22 10:28:19 -07:00
Nikolaj Bjorner
c969d78042
throw exception instead of debug mode assertion in ast_manager on malformed input
...
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-05-21 15:07:01 -07:00
Nikolaj Bjorner
c706e91019
merge with unstable
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-05 10:37:55 -07:00