Skip to content

Commit dc1c3a5

Browse files
committed
feat: update boogie opt for some specs
1 parent 581aabc commit dc1c3a5

File tree

3 files changed

+28
-6
lines changed

3 files changed

+28
-6
lines changed

specs-bv/Move.lock

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,22 @@
33
[move]
44
version = 3
55
manifest_digest = "BC4FE2501E5714DD8780B061932D369DCC8BFB79C46BCADD3F0CD18558FFDD06"
6-
deps_digest = "F8BBB0CCB2491CA29A3DF03D6F92277A4F3574266507ACD77214D37ECA3F3082"
6+
deps_digest = "397E6A9F7A624706DBDFEE056CE88391A15876868FD18A88504DA74EB458D697"
77
dependencies = [
8+
{ id = "DeepBook", name = "DeepBook" },
9+
{ id = "MoveStdlib", name = "MoveStdlib" },
10+
{ id = "Sui", name = "Sui" },
811
{ id = "SuiProver", name = "SuiProver" },
12+
{ id = "SuiSystem", name = "SuiSystem" },
13+
]
14+
15+
[[move.package]]
16+
id = "DeepBook"
17+
source = { git = "https://github.com/asymptotic-code/sui.git", rev = "next", subdir = "crates/sui-framework/packages/deepbook" }
18+
19+
dependencies = [
20+
{ id = "MoveStdlib", name = "MoveStdlib" },
21+
{ id = "Sui", name = "Sui" },
922
]
1023

1124
[[move.package]]
@@ -38,9 +51,18 @@ dependencies = [
3851

3952
[[move.package]]
4053
id = "SuiSpecs"
41-
source = { git = "https://github.com/asymptotic-code/sui-prover.git", rev = "main", subdir = "packages/sui-framework-specs" }
54+
source = { git = "https://github.com/asymptotic-code/sui-prover.git", rev = "main", subdir = "packages/sui-specs" }
4255

4356
dependencies = [
4457
{ id = "Prover", name = "Prover" },
4558
{ id = "Sui", name = "Sui" },
4659
]
60+
61+
[[move.package]]
62+
id = "SuiSystem"
63+
source = { git = "https://github.com/asymptotic-code/sui.git", rev = "next", subdir = "crates/sui-framework/packages/sui-system" }
64+
65+
dependencies = [
66+
{ id = "MoveStdlib", name = "MoveStdlib" },
67+
{ id = "Sui", name = "Sui" },
68+
]

specs/sources/i32_specs.move

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ public fun sub_spec(num1: I32, num2: I32): I32 {
209209
✅ Computes `num1 * num2`.
210210
⏮️ The function aborts when the result does not fit in `I32`.
211211
*/
212-
#[spec(prove, target = mul, boogie_opt=b"proverOpt:O:smt.QI.EAGER_THRESHOLD=100")]
212+
#[spec(prove, target = mul, boogie_opt=b"vcsMaxKeepGoingSplits:4 vcsSplitOnEveryAssert vcsFinalAssertTimeout:300")]
213213
public fun mul_spec(num1: I32, num2: I32): I32 {
214214
let num1_int = num1.to_int();
215215
let num2_int = num2.to_int();
@@ -263,7 +263,7 @@ public fun abs_u32_spec(v: I32): u32 {
263263
✅ Computes `v << shift`.
264264
⏮️ The function aborts unless `shift < 32`.
265265
*/
266-
#[spec(prove, target = shl)]
266+
#[spec(prove, target = shl, boogie_opt=b"vcsMaxKeepGoingSplits:4 vcsSplitOnEveryAssert vcsFinalAssertTimeout:300")]
267267
public fun shl_spec(v: I32, shift: u8): I32 {
268268
asserts(shift < 32);
269269
let result = shl(v, shift);

specs/sources/i64_specs.move

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ public fun sub_spec(num1: I64, num2: I64): I64 {
208208
✅ Computes `num1 * num2`.
209209
⏮️ The function aborts when the result does not fit in `I64`.
210210
*/
211-
#[spec(prove, target = mul)]
211+
#[spec(prove, target = mul, boogie_opt=b"vcsMaxKeepGoingSplits:4 vcsSplitOnEveryAssert vcsFinalAssertTimeout:300")]
212212
public fun mul_spec(num1: I64, num2: I64): I64 {
213213
let num1_int = num1.to_int();
214214
let num2_int = num2.to_int();
@@ -262,7 +262,7 @@ public fun abs_u64_spec(v: I64): u64 {
262262
✅ Computes `v << shift`.
263263
⏮️ The function aborts unless `shift < 64`.
264264
*/
265-
#[spec(prove, target = shl)]
265+
#[spec(prove, target = shl, boogie_opt=b"vcsMaxKeepGoingSplits:4 vcsSplitOnEveryAssert vcsFinalAssertTimeout:600")]
266266
public fun shl_spec(v: I64, shift: u8): I64 {
267267
asserts(shift < 64);
268268
let result = shl(v, shift);

0 commit comments

Comments
 (0)