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
Nikolaj Bjorner
c3b344ec47
fix #6865
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-18 16:51:58 -07:00
Lev Nachmanson
610313946d
split free vars in nla
2023-08-18 12:36:14 -07:00
Jakob Rath
d567d3b7f2
rename to try_congruence and add conditions
2023-08-18 17:11:46 +02:00
Jakob Rath
1316e1c881
fix splitting in merge
2023-08-18 17:03:49 +02:00
Nikolaj Bjorner
a8c4384536
download 20.04
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-18 07:58:48 -07:00
Jakob Rath
8a8afcdcb8
try_ugt_eq restores 6800
2023-08-18 16:24:06 +02:00
Jakob Rath
b4902f374b
slicing equivalent vars + explain
2023-08-18 16:21:59 +02:00
Jakob Rath
e09636065b
don't crash on null_literal
2023-08-18 15:30:39 +02:00
Jakob Rath
5bd35d764f
fix collect_fixed
2023-08-18 15:26:09 +02:00
Jakob Rath
efe0fa8e15
put add_var on the trail
2023-08-18 15:18:55 +02:00
Jakob Rath
1033c7e536
slicing replay was utterly broken
2023-08-18 15:10:23 +02:00
Jakob Rath
d3b5974448
shortcut in add_value
...
otherwise, with literal x == a for constant a, we will create unnecessary value nodes.
(because slicing will propagate x := a to the solver, which calls add_value in turn)
2023-08-18 15:00:00 +02:00
Jakob Rath
2d0120c621
Merge some intermediate slices
...
In particular, this ensure propagates of values to extracted variables.
(previously it could happen that x = y[h:l], y is assigned in the
solver, but x is not propagated; because only base slices have been
merged.)
2023-08-18 14:56:48 +02:00
Jakob Rath
49ca2d983d
remove abandoned code
2023-08-18 14:55:40 +02:00
Jakob Rath
cb14cb5743
(abandoned) attempt to propagate values upwards
2023-08-18 14:52:48 +02:00
Jakob Rath
9bffb34ce1
helpers
2023-08-18 14:47:29 +02: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
Nikolaj Bjorner
8aa35f7fdb
remove package lock
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-17 18:54:00 -07:00
Nikolaj Bjorner
63f18a1d99
#6822 - change to 2.31 for nuget packaging
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-17 18:47:05 -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
63ea8efcfb
remove output
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-17 15:20:12 -07:00
Nikolaj Bjorner
2dbf9bcab2
Merge branch 'master' of https://github.com/z3prover/z3
2023-08-17 15:18:36 -07:00
Nikolaj Bjorner
51df7b75ce
fix 6800
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-17 15:18:22 -07:00
Jakob Rath
93592ea3f2
scoped_set_verbosity_level
2023-08-17 18:02:57 +02:00
Jakob Rath
dcb0d27dd7
Use get_bit instead of bitwise_and
2023-08-17 18:02:15 +02:00
Jakob Rath
19c1c7aa73
minor comments, skolem = false
2023-08-17 17:59:40 +02:00
Jakob Rath
3e7f7ef605
egraph comment, remove unneeded check
2023-08-17 17:57:42 +02:00
Jakob Rath
f8c9ed1d90
Revisit ule_constraint simplifications and add unit test for this
...
If we can be certain of simplification results,
it is easier to recognize patterns for fixed bits and similar.
2023-08-17 17:46:34 +02:00
Jakob Rath
6593754cd6
enable fixed bits in slicing
2023-08-17 17:37:11 +02:00
Jakob Rath
996012adb1
logging fix
2023-08-17 17:32:08 +02:00
Jakob Rath
0da1d9b218
display actual content of 'inequality' instances
2023-08-17 17:29:51 +02:00
Jakob Rath
9600f812a6
Functions to extract fixed bits for slicing
2023-08-17 17:26:19 +02:00
Jakob Rath
c95ff56d2d
slicing: change how values are tracked
...
Do not eagerly merge equivalence classes with the same constant value.
Reason:
- when we split a value slice, the subslice might already exist in the
egraph and already have subslices itself, which breaks assumptions in
split/split_core.
- introduces unnecessary splits
Now:
- wrap constants into fresh function symbol before creating the enode
- check value compatibility in on_merge callback instead
- track pointer to value_node for each enode, and update it in on_merge
2023-08-17 17:14:18 +02:00
Jakob Rath
08928d041a
explain_equal: jumping to root without explanation is wrong
2023-08-17 11:46:09 +02:00
Jakob Rath
53dc31989a
relax assertion
2023-08-17 09:32:47 +02:00
Hari Govind V K
1be692002d
split on all ite terms. fix #6852 ( #6859 )
2023-08-16 10:07:30 -07:00
Jakob Rath
bc6f0729a0
Add lemma: y = x[h:l] & y != 0 ==> x >= 2^l
2023-08-16 09:58:56 +02:00
Jakob Rath
afc292e5db
Add parameter polysat.max_iterations for debugging
2023-08-16 09:55:21 +02:00
Jakob Rath
062ca92ebe
Switch between overflow representations with polysat.bvumulo=1/2
2023-08-16 09:54:04 +02:00
Jakob Rath
11b582cce7
Add rational::next_power_of_two
2023-08-16 09:48:32 +02:00
Jakob Rath
0bfebe3de1
Enable conflict logger with polysat.log_conflicts=true
2023-08-16 09:40:16 +02:00
Jakob Rath
20ab0bc13a
Invoke debugger if VERIFY fails in debug mode
2023-08-16 09:36:28 +02:00
Nikolaj Bjorner
50717fb655
update pattern for glibc
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-15 09:32:43 -07:00
Jakob Rath
1f640b96c9
compile unit tests
2023-08-14 14:00:41 +02:00
Nikolaj Bjorner
b04e48f374
fix #6850
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-13 15:06:39 -07:00
Nikolaj Bjorner
33c35b0c31
fix #6851
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-13 14:49:25 -07:00