Nikolaj Bjorner
b52fd8d954
add EUF plugin framework.
...
plugin setting allows adding equality saturation within the E-graph propagation without involving externalizing theory solver dispatch. It makes equality saturation independent of SAT integration.
Add a special relation operator to support ad-hoc AC symbols.
2023-11-30 13:58:30 -08:00
Nikolaj Bjorner
91c2139b5d
just use std::string
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-30 17:56:44 -07:00
Nikolaj Bjorner
fe6f38a160
#6951 , fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-30 15:31:56 -07:00
Clemens Eisenhofer
996b844cde
Fixed parsing of | and \ ( #6975 )
...
* Give users ability to see if propagation failed
* Skip propagations in the new core if they are already satisfied
* Fix registration in final
* Don't make it too complicated...
* Fixed next_split when called in pop
Made delay_units available even without quantifiers
* Missing push calls before "decide"-callback
* Fixed parsing of | and \
* Unit-test for parsing bug
2023-10-30 12:30:23 -07:00
Lev Nachmanson
a94a75459e
fixin nla_solver_test.cpp
2023-10-06 06:51:00 -07:00
Nikolaj Bjorner
e8fcc876c9
Merge branch 'master' into unit_prop_on_monomials
2023-09-26 20:14:06 -07:00
Nikolaj Bjorner
ec2937e2de
port over moving m_nla_lemmas into nla_core from the linear monomial propagation branch
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-26 20:08:30 -07:00
Nikolaj Bjorner
d2c0f7dba7
fix test build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-25 12:48:52 -07:00
Nikolaj Bjorner
87a839c794
fixup unit test for added argument to constructor of nla_solver
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-23 18:07:56 -07:00
Nikolaj Bjorner
5e3df9ee77
Arith min max ( #6864 )
...
* prepare for dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* snapshot
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more refactoring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more refactoring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* pass in u_dependency_manager
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* address NYIs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more refactoring names
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* eq_explanation update
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add outline of bounds improvement functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix unit tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove unused structs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* convert more internals to use u_dependency instead of constraint_index
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* convert more internals to use u_dependency instead of constraint_index
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remember to push/pop scopes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use the main function for updating bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove reset of shared dep manager
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* disable improve-bounds, add statistics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
---------
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-19 17:44:09 -07:00
Nikolaj Bjorner
59b56f2ce7
update unit test to be compatible with C++ vs C exception semantics #6537
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-17 19:13:50 -07:00
Lev Nachmanson
252a30e727
use param_ref in nla_solver ( #6862 )
...
* use param_ref in nla_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* add parameters
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add parameters
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* replace nla_setting by command line parameters
* delete nla_setting.h
---------
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-17 18:44:27 -07:00
Lev Nachmanson
f58b703ac5
u_set replaced by indexed_uint_set ( #6841 )
...
* replace u_set by indexed_uint_set
* replace u_set by indexed_uint_set
* create insert-fresh and insert for indexed_uint_set to make use cases with non-fresh inserts easier
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* update nightly to pull arm
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* update nightly to pull arm
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixing the build of lp_tst
* update nightly to pull arm
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* replace u_set by indexed_uint_set
* replace u_set by indexed_uint_set
* fixing the build of lp_tst
* remove unnecessery call to contains() before
insert to indexed_uint_set
* formatting, no check for contains()
in indexed_uint_set, always init m_touched_rows to nullptr
---------
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-03 16:01:27 -07:00
Lev Nachmanson
61948fa1ff
find minimal deltas in patching
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-07-01 07:48:07 -07:00
Lev Nachmanson
30a2ced9aa
patching merge ( #6780 )
...
* patching merge
* fix the format and some warnings
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* a fix in the delta calculation
* test patching
* try a new version of get_patching_deltas
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* remove dead code from lp_tst and try optimizing patching
* add comments, replace VERIFY with lp_assert
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* cleanup
---------
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-06-27 17:53:27 -07:00
Nikolaj Bjorner
624907823d
add tests for distribution utility and fix loose ends
2023-04-13 11:19:06 -07:00
Lev Nachmanson
8b0aa22631
replace lp_assert(false) with UNREACHABLE
2023-03-08 10:27:05 -08:00
Lev Nachmanson
1fb24ebc35
fix lp_tst
2023-03-08 10:27:05 -08:00
Lev Nachmanson
11eab94321
more dead code
2023-03-08 10:27:05 -08:00
Lev Nachmanson
e430f28813
remove dead code
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-03-08 10:27:05 -08:00
Lev Nachmanson
f33f8c265e
more cleanup
2023-03-08 10:27:05 -08:00
Lev Nachmanson
0fb65dea3f
rm square_sparse_matrix
2023-03-08 10:27:05 -08:00
Lev Nachmanson
6eedbd4f35
rm lu
2023-03-08 10:27:05 -08:00
Lev Nachmanson
2e9dc3d090
rm lu
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-03-08 10:27:05 -08:00
Lev Nachmanson
9a7c99da33
rm lu
2023-03-08 10:27:05 -08:00
Lev Nachmanson
c251151d66
rm_lu
2023-03-08 10:27:05 -08:00
Lev Nachmanson
25f103db1a
rm_lp
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-03-08 10:27:05 -08:00
Lev Nachmanson
a38be43264
rm lu
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-03-08 10:27:05 -08:00
Lev Nachmanson
ea16f6608c
before rm lu
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-03-08 10:27:05 -08:00
Lev Nachmanson
92fe8c5968
restore the previous state
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-03-03 18:30:17 -08:00
Lev Nachmanson
5e4bca3d26
small removals
2023-03-03 15:58:25 -08:00
Lev Nachmanson
2dd30fa350
rm lp_primal_simplex
2023-03-03 15:44:50 -08:00
Lev Nachmanson
d2e8297d41
remove includes of lp_dual_simplex
2023-03-03 15:38:47 -08:00
Lev Nachmanson
2ec09944d7
removals
2023-03-03 15:32:44 -08:00
Lev Nachmanson
a44772424c
more removals
2023-03-03 15:30:15 -08:00
Lev Nachmanson
cd24c99739
remove a lp_primal_simplex.cpp from CMakeLists
2023-03-03 15:26:06 -08:00
Lev Nachmanson
f986ac6a75
remove mps_reader
2023-03-03 14:50:10 -08:00
Nikolaj Bjorner
9b6ac45e02
compile warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-02-19 10:03:38 -08:00
Nikolaj Bjorner
a6eed9f00c
Update api.cpp
...
fix test
2023-02-18 18:43:20 -08:00
Nikolaj Bjorner
c0f80f92ba
deal with compiler warnings (unused variables etc)
2023-02-18 17:53:37 -08:00
Jakob Rath
d69155b9e9
Shared features from polysat branch ( #6567 )
...
* Allow setting default debug action
* Fix dlist and add iterator
* Add var_queue iterator
* Add some helpers
* rational: machine_div2k and pseudo_inverse
* Basic support for non-copyable types in map
* tbv helpers
* pdd updates
* Remove duplicate functions
gcc doesn't like having both versions
2023-02-03 13:08:47 -08:00
Nikolaj Bjorner
7767144051
fix test
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-02-01 11:07:47 -08:00
Nikolaj Bjorner
d289434b65
fix #6535
2023-01-12 19:06:30 -08:00
Nikolaj Bjorner
15be80c954
remove dependency on hash_compare
2022-11-09 09:06:34 -08:00
Nikolaj Bjorner
626380b3c7
fixing build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-03 22:08:21 -07:00
Facundo Domínguez
91cdc082c4
Optimize calls to Z3_eval_smtlib2_string ( #6422 )
...
* Allow reseting the stream of smt2::scanner
* Put the parser of parse_smt2_commands in the cmd_context
* Move parser streams to cmd_context
* Move parser fields from cmd_context to api::context
* Move forward declarations from cmd_context.h to api_context.h
* Change parse_smt2_commands_with_parser to use *& instead of **
* Add tests for Z3_eval_smtlib2_string
* Don't reuse the streams in Z3_eval_smtlib2_string
* Fix indentation
* Add back unnecessary deleted line
Co-authored-by: Nuno Lopes <nuno.lopes@tecnico.ulisboa.pt>
2022-10-28 13:57:22 -07:00
Nikolaj Bjorner
edad727cd5
#6364
...
ensure substitutions are applied to eliminate internal variables from results
2022-10-20 13:14:54 -07:00
Nikolaj Bjorner
fc30461828
unused variables
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-10-20 09:09:06 -07:00
Nikolaj Bjorner
ad49dd739b
initialize variables to avoid warning messages whether real or spurious
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-10-01 17:08:02 -04:00
Nikolaj Bjorner
7b982a812e
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-09-25 18:09:32 -07:00