Nikolaj Bjorner
32e23b3b6c
remove unsound simplification
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-01 12:39:37 -08:00
Nikolaj Bjorner
6e72182194
remove unused propagation in umul_overflow code. Rename propagate to saturate to reflect where it gets used
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-01 09:57:28 -08:00
Nikolaj Bjorner
111dee9143
simplify overflow check up front
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-01 09:37:46 -08:00
Jakob Rath
6a1f173e03
extend propagate_from_containing_slice to subslices with offset > 0
2024-02-01 17:23:26 +01:00
Jakob Rath
cb6fb7b26b
distinguish theory_vars in output
2024-02-01 12:14:14 +01:00
Jakob Rath
0b5f163ba7
fix warning
2024-02-01 12:13:49 +01:00
Nikolaj Bjorner
e6f7ba90f1
more saturation for overflow
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-31 20:12:01 -08:00
Nikolaj Bjorner
7dc61ca646
always fail if new axioms are true
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-31 15:50:35 -08:00
Nikolaj Bjorner
0dc204cd4a
add base support for signed multiplication over/under flow
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-30 12:47:28 -08:00
Jakob Rath
2da3261d8a
make lemma sound
2024-01-29 17:07:17 +01:00
Jakob Rath
8de2503f9f
bugfix?
2024-01-29 16:51:10 +01:00
Jakob Rath
75527e8e19
propagate intervals from containing slice
2024-01-29 16:45:14 +01:00
Nikolaj Bjorner
f0b056d859
add ad-hoc debug output, add rule for incremental linearization
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-21 11:29:48 -08:00
Nikolaj Bjorner
677e261bb1
constant overflow forbidden interval
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-15 09:46:45 -08:00
Nikolaj Bjorner
a68bbb53e4
update assign to check fixed bits afterwards
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-15 09:18:51 -08:00
Nikolaj Bjorner
79a2c86c05
fixup fixedbits again
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-14 14:38:44 -08:00
Nikolaj Bjorner
ff637a3989
fix missing propagation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-14 13:10:35 -08:00
Nikolaj Bjorner
05d61ed090
fix incorrect fixed_bits forbidden interval calculation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-14 12:19:04 -08:00
Nikolaj Bjorner
3f369ae962
fix unsound merge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-13 17:47:20 -08:00
Nikolaj Bjorner
93be3d2b2c
arithmetic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-13 10:29:50 -08:00
Nikolaj Bjorner
aefbfc6ca4
bugbash
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-12 15:09:19 -08:00
Nikolaj Bjorner
22103c0322
bugfix
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-12 14:00:33 -08:00
Jakob Rath
70d2057557
comment
2024-01-12 16:32:36 +01:00
Nikolaj Bjorner
1acaed69c6
fix overflow
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-11 16:42:58 -08:00
Nikolaj Bjorner
3d33d28f8c
check for viable assignment
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-11 13:02:40 -08:00
Nikolaj Bjorner
a2df3cb828
have propagate return whether it did something
2024-01-11 11:45:05 -08:00
Nikolaj Bjorner
4a2217a3e8
fix saturation condition for bvor
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-11 11:35:35 -08:00
Nikolaj Bjorner
9fb86a4d4f
fixing fixed-bits viable
2024-01-11 11:09:06 -08:00
Nikolaj Bjorner
0d3a465e75
remove stale functionality, finish implementation for super-slices
2024-01-11 10:18:52 -08:00
Nikolaj Bjorner
6b12bd6dcd
use offset/length for fixed slices to allow super-slices
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-11 10:05:11 -08:00
Jakob Rath
80184c6ee2
fix ashr axioms
2024-01-11 18:09:17 +01:00
Nikolaj Bjorner
9fb9e659b0
full interval case
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-11 08:44:16 -08:00
Nikolaj Bjorner
86de8bd5b1
add case for exclude 0
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-10 17:19:10 -08:00
Nikolaj Bjorner
33c37cfdf0
bugbash bit-wise operations
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-10 16:05:55 -08:00
Nikolaj Bjorner
33f17215f7
bugfixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-10 11:00:16 -08:00
Nikolaj Bjorner
e7c9c5f7a2
add built-in support for bvor: the rewriter converts bitwise and to bit-wise or so using bvor as a basis makes better sense
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-10 10:16:31 -08:00
Nikolaj Bjorner
21711a14f5
bugbash
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-09 14:15:25 -08:00
Nikolaj Bjorner
f34e55e86e
bugfix
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-08 20:44:30 -08:00
Nikolaj Bjorner
cc4ed602e5
inline propagation when adding new viable
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-08 20:31:14 -08:00
Nikolaj Bjorner
e26d597917
working on unit propagation explanation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-07 15:29:18 -08:00
Nikolaj Bjorner
11c529162d
add facility to support propagation
2024-01-06 16:26:03 -08:00
Nikolaj Bjorner
30c0771d24
redo fixed bits, add simplifications to intblast solver
2024-01-06 16:12:01 -08:00
Nikolaj Bjorner
c4b7061590
bugbash
...
fix missing justification in explain_slice
tune intblast solver with some simplifications
bypass conflicts if the state is already conflicting
2024-01-04 20:14:22 -08:00
Nikolaj Bjorner
cb672c7992
overflow example works
...
- introduce weak/strong eval to temper unit propagation to use only weak evaluation.
- harness the amount of interval propagation provided on overflow constraints
- weak evaluation on overflow constraints is now trivialized
- viable insertion also does conflict detection
2024-01-04 15:55:24 -08:00
Nikolaj Bjorner
7b0c04a3e8
bugbash
2024-01-04 10:54:02 -08:00
Nikolaj Bjorner
f71219a9d0
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-03 20:28:57 -08:00
Nikolaj Bjorner
f805130c0b
chain viables
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-03 20:22:01 -08:00
Nikolaj Bjorner
f5aec6ecdf
bugbash
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-03 13:12:42 -08:00
Nikolaj Bjorner
5730cad4e0
working on viable/explain
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-03 10:56:56 -08:00
Nikolaj Bjorner
e670194a2d
filling in viable conflict analysis
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-03 10:10:57 -08:00