Lev Nachmanson
a297a2b25c
fixes in lar_solver around nl unit propagation
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-10-01 11:39:58 -07:00
Lev Nachmanson
702322a6e9
change the order of lp and nlp propagation
2023-09-29 15:31:32 -07:00
Nikolaj Bjorner
94eb101873
Merge branch 'master' into unit_prop_on_monomials
2023-09-26 20:15:58 -07:00
Nikolaj Bjorner
36566d6193
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:15:22 -07:00
Nikolaj Bjorner
e4e1d6148c
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:14:42 -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
8d2b65b20b
add options to allow testing the effect of non-linear hammers
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-26 19:18:44 -07:00
Lev Nachmanson
6ff4856e38
throttle monomial unit prop and and nl params
2023-09-25 16:47:34 -07:00
Lev Nachmanson
896aba31f8
move monomial propagation from theory_lra to nla_solver
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-09-25 14:20:24 -07:00
Nikolaj Bjorner
0a1ade6f95
move m_nla_lemma_vector to be internal to nla_core
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-25 12:40:52 -07:00
Lev Nachmanson
26a9b776c6
clean m_nla_lemma_vector in nla_solver
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-09-25 12:10:59 -07:00
Nuno Lopes
029d726eb8
minor code simplification
2023-09-25 15:33:40 +01:00
Nikolaj Bjorner
3433366bef
Merge branch 'unit_prop_on_monomials' of https://github.com/z3prover/z3 into unit_prop_on_monomials
2023-09-23 17:20:08 -07:00
Nikolaj Bjorner
85eacf9bb1
merge with master
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-23 17:20:00 -07:00
Nikolaj Bjorner
61319ffd85
cache is_shared information in the enode
...
observed perf overhead for QF_NIA is that assume_eqs in theory_lra incurs significant overhead when calling is_relevant_and_shared. The call to context::is_shared and the loop checking for beta redexes is a main bottleneck. The bottleneck is avoided by caching the result if is_shared inside the enode. It is invalidated for every merge/unmerge.
2023-09-23 17:19:06 -07:00
Nikolaj Bjorner
a3e2e68d93
Update theory_lra.cpp
2023-09-23 16:26:31 -07:00
Nikolaj Bjorner
acad9fa62c
Update smt_context.cpp
2023-09-23 16:25:46 -07:00
Nikolaj Bjorner
eea9c0bec6
fix #6914
2023-09-23 11:22:25 -07:00
Nikolaj Bjorner
30d1800c31
#6916
...
short circuiting equality consequence appears to have the wrong sign
2023-09-23 10:32:51 -07:00
Nikolaj Bjorner
421fe94607
rmove debug out
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-22 17:59:07 -07:00
Nikolaj Bjorner
eac54ba084
indentation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-22 16:54:12 -07:00
Nikolaj Bjorner
940775d12d
indentation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-22 16:48:40 -07:00
Lev Nachmanson
caa929f01f
do not use lemmase in monomial propagation
2023-09-22 14:27:26 -07:00
Lev Nachmanson
f423642e9b
try the lemma scheme
2023-09-21 12:18:21 -07:00
Lev Nachmanson
e31cecf5db
transfer propagate monomial bounds to nla_solver
2023-09-21 11:27:53 -07:00
Lev Nachmanson
536930b4a1
make m_ibounds inside of lp_bound_propagator
...
a reference
2023-09-20 17:13:25 -07:00
Nikolaj Bjorner
7a74b099ba
remove experimental code
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-20 15:04:24 -07:00
Nikolaj Bjorner
4d742001ab
formatting of else
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-19 14:36:21 -07:00
Lev Nachmanson
c5cfd62e0a
remove dead code related to nla unit propagation
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-09-19 10:56:09 -07:00
Lev Nachmanson
b621c9fa1c
remove an extrac check in bound_is_interesting
2023-09-15 17:42:18 -07:00
Lev Nachmanson
762ade2a79
check m_unassigned_bounds in bound_is_interesting
2023-09-15 06:15:22 -07:00
Lev Nachmanson
c309d52283
runs a simple test
2023-09-13 08:12:00 -07:00
Lev Nachmanson
c050af922f
fixing the bugs
2023-09-07 15:59:20 -07:00
Lev Nachmanson
41f59cb1ed
propagate monomial is nla
2023-09-05 18:49:59 -07:00
Lev Nachmanson
5509b468e9
handle monomial_bounds::unit_propagate()
2023-08-31 17:35:41 -07:00
Nikolaj Bjorner
38b131386d
add stubs for monomial unit propagation
2023-08-30 17:21:48 -07:00
Lev Nachmanson
9aeaed8f53
Merge branch 'master' into nl_branches
2023-08-21 16:15:20 -07:00
Nikolaj Bjorner
37ddaaef69
make destructors virtual
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-20 15:30:57 -07:00
Nuno Lopes
dda0c8ff42
array theory: use expr_ref for mk_default() so it doesnt leak if internalize throws
...
like on timeout/memout
2023-08-20 22:28:57 +01:00
Nuno Lopes
a694d27557
revert removal of virtual destructor of relevancy_eh since clang doesnt play along
2023-08-20 14:20:20 +01:00
Nuno Lopes
c469c6e1d5
attempt to fix clang buildbots
2023-08-20 13:39:15 +01:00
Nuno Lopes
28884b398c
remove unneeded virtual destructor (optimization)
2023-08-20 12:57:47 +01:00
Nuno Lopes
3b546b2348
smt_context: we can't assert that the resource limits were exceeded on cancel_exception
...
It happens sometimes that e.g. the internalizer goes above the soft memory limit
But since it's only by a small amount, when the exception propagates back to the context, some stuff
has been freed already and we are not longer above the memory threshold
Just delete these asserts
2023-08-20 10:34:28 +01:00
Nuno Lopes
5d33805c8b
optimize ~relevancy_propagator_imp() so it just dec refs the exprs in the trail
...
It avoid doing all the funky watch stuff
One extreme Alive2 test case goes from 40s to 28s :)
2023-08-20 10:07:56 +01: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
Lev Nachmanson
610313946d
split free vars in nla
2023-08-18 12:36:14 -07:00
Nikolaj Bjorner
73724f9cab
lines that go away
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-17 18:45:49 -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
Nikolaj Bjorner
125787c458
remove dead code
2023-08-07 11:22:34 -07:00