Jakob Rath
|
3f5e6a4bfa
|
bugfix: don't intersect forbidden intervals if variable is already assigned
|
2023-01-09 17:10:18 +01:00 |
|
Jakob Rath
|
aeb6138c25
|
No result if there is no other interval
|
2023-01-05 17:21:25 +01:00 |
|
Jakob Rath
|
a406e01fb8
|
e0 instead of first?
|
2023-01-05 16:44:45 +01:00 |
|
Jakob Rath
|
ffa12eb37c
|
flip args to match description
|
2023-01-05 16:43:01 +01:00 |
|
Nikolaj Bjorner
|
824c10711c
|
testing inference based on complementary bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2023-01-02 17:30:08 -08:00 |
|
Nikolaj Bjorner
|
96341d7f0a
|
wip try_add_mul_bound2
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-29 18:31:39 -08:00 |
|
Nikolaj Bjorner
|
ab9a9d2308
|
wip - more general ranges for add_mul_bound
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-28 14:09:51 -08:00 |
|
Nikolaj Bjorner
|
6f8b3a997e
|
add max forbidden based on constant intervals
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-27 20:49:17 -08:00 |
|
Nikolaj Bjorner
|
49a7f8446d
|
disable match_non_max and match_non_zero
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-24 15:19:37 -08:00 |
|
Nikolaj Bjorner
|
e978b81c7a
|
add review comment to bug location
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-24 12:40:47 -08:00 |
|
Nikolaj Bjorner
|
4e0604bc22
|
add hooks for multiplication overflow
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-23 15:48:03 -08:00 |
|
Nikolaj Bjorner
|
50cbe2659a
|
extract multiple bounds for upper/lower bound
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-23 14:52:41 -08:00 |
|
Nikolaj Bjorner
|
9275930f50
|
fix bug in add-overflow propagation, move to use viable to mind for bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-23 13:38:51 -08:00 |
|
Nikolaj Bjorner
|
9fefa0040f
|
added updated bounds propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-23 12:47:17 -08:00 |
|
Jakob Rath
|
21ea05b31c
|
Weaken evaluation for new constraints in viable lemma
|
2022-12-22 16:24:27 +01:00 |
|
Jakob Rath
|
d51031f19b
|
debug
|
2022-12-21 16:05:27 +01:00 |
|
Jakob Rath
|
109ab0be40
|
Detect more equations in refine_equal_lin
|
2022-12-21 12:21:22 +01:00 |
|
Nikolaj Bjorner
|
ca855fbad3
|
redoing parity lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-20 15:46:25 -08:00 |
|
Nikolaj Bjorner
|
a8d401864b
|
review
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-20 12:46:15 -08:00 |
|
Jakob Rath
|
e5b142b265
|
Rotate first entry for refinement
|
2022-12-20 09:32:27 +01:00 |
|
Jakob Rath
|
86a36a524a
|
Fix unsoundness in viable fallback
(the src constraint of forbidden intervals is not necessarily univariate)
|
2022-12-19 15:37:49 +01:00 |
|
Jakob Rath
|
59592754d8
|
minor univariate tweak
|
2022-12-19 14:07:57 +01:00 |
|
Nikolaj Bjorner
|
4e8bd4425f
|
add find_two
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-17 19:41:09 -08:00 |
|
Jakob Rath
|
06e6f27614
|
refactor
|
2022-12-16 14:22:50 +01:00 |
|
Jakob Rath
|
9f05f645c1
|
update types and docs
|
2022-12-16 13:16:55 +01:00 |
|
Jakob Rath
|
c54c564019
|
convert to loop
|
2022-12-16 13:11:20 +01:00 |
|
Jakob Rath
|
e23774a746
|
reorder definitions
|
2022-12-16 13:06:16 +01:00 |
|
Jakob Rath
|
afde0e993c
|
Add bitblasting fallback to viable::query
(integration between conflict/viable is still messy)
|
2022-12-16 13:02:54 +01:00 |
|
Jakob Rath
|
44cb528300
|
Extract usolver
|
2022-12-16 10:46:57 +01:00 |
|
Jakob Rath
|
5de0007157
|
very basic refinement loop breaking
|
2022-12-15 13:39:48 +01:00 |
|
Jakob Rath
|
3d06a90e7f
|
track refinement source
|
2022-12-15 13:08:13 +01:00 |
|
Jakob Rath
|
eda6534453
|
more readable intervals
|
2022-12-12 16:41:18 +01:00 |
|
Nikolaj Bjorner
|
5a27ae6b53
|
disable tangent lemma, which appears to be counter-productive
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-11 12:56:21 -08:00 |
|
Nikolaj Bjorner
|
d092523733
|
bugfixes to try_factor_equality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
|
2022-12-10 10:51:21 -08:00 |
|
Jakob Rath
|
85715eb164
|
Update use of insert_eval and lemma scores to support propagation
|
2022-12-07 16:08:24 +01:00 |
|
Jakob Rath
|
fdca0cd86f
|
assign_verify: separate lemma production and activation
|
2022-11-30 15:00:58 +01:00 |
|
Jakob Rath
|
b4b94c954b
|
Try to produce an op_constraint lemma before invoking the fallback solver
|
2022-11-30 12:13:47 +01:00 |
|
Jakob Rath
|
4aa04fa475
|
Lemma names
|
2022-11-28 19:13:38 +01:00 |
|
Jakob Rath
|
c1f9a26f09
|
disable assertion for now
|
2022-11-28 18:15:24 +01:00 |
|
Jakob Rath
|
a3767b177c
|
comment
|
2022-11-28 18:11:51 +01:00 |
|
Jakob Rath
|
a144a09ede
|
Propagation must be justified by a prefix of Gamma
|
2022-11-22 13:42:31 +01:00 |
|
Jakob Rath
|
33ea8d6e57
|
viable conflict also depends on vars
|
2022-11-22 13:40:29 +01:00 |
|
Jakob Rath
|
dbe814d568
|
Add forbidden interval lemma separately
|
2022-11-17 15:00:16 +01:00 |
|
Jakob Rath
|
66469bb678
|
Don't leave propagation loop too early (cause of unsoundness in bench0)
|
2022-10-12 13:20:34 +02:00 |
|
Jakob Rath
|
54ed6d4413
|
Don't cut off output arbitrarily
|
2022-10-07 17:49:03 +02:00 |
|
Jakob Rath
|
bef1be8cb5
|
should not happen anymore
|
2022-10-07 10:11:00 +02:00 |
|
Jakob Rath
|
f184545aca
|
Debug dlist insertion
Found because of assertion failure in
test_polysat::test_fixed_point_arith_div_mul_inverse()
|
2022-10-05 17:24:28 +02:00 |
|
Jakob Rath
|
dc9373dcbd
|
Change old solver::propagate method
|
2022-10-04 17:09:09 +02:00 |
|
Jakob Rath
|
811843cf45
|
Fix interval check
|
2022-10-03 15:35:07 +02:00 |
|
Jakob Rath
|
6caa3ba1b7
|
Skip redundant intervals in viable::resolve (disabled for now)
|
2022-10-03 11:03:05 +02:00 |
|