Skip to content

Commit f13239e

Browse files
authored
Merge pull request #6 from FStarLang/update_nightly_2026-04-29
Update nightly 2026 04 29
2 parents 05fcf17 + 8045854 commit f13239e

340 files changed

Lines changed: 2266 additions & 3551 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,6 @@ krml/
1717

1818
# Binary F* install (created by ./setup.sh binary)
1919
/fstar/
20+
bench/results/
21+
bench/BENCHMARK_REPORT.txt
22+
bench/repros/

autoclrs/ch02-getting-started/CLRS.Ch02.InsertionSort.Impl.fst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ fn insertion_sort
7272
prefix_sorted s (SZ.v vj) /\
7373
// Complexity: comparisons so far <= vj*(vj-1)/2
7474
vc >= reveal c0 /\
75-
vc <= reveal c0 + op_Multiply (SZ.v vj) (SZ.v vj - 1) / 2
75+
vc <= reveal c0 + op_Star (SZ.v vj) (SZ.v vj - 1) / 2
7676
)
7777
decreases (SZ.v len `Prims.op_Subtraction` SZ.v !j)
7878
{
@@ -118,8 +118,8 @@ fn insertion_sort
118118
Seq.index s_inner k1 <= Seq.index s_inner k2) /\
119119
// Complexity: vc + vi bounded
120120
vc_inner >= reveal c0 /\
121-
vc_inner <= reveal c0 + op_Multiply (SZ.v vj) (SZ.v vj - 1) / 2 + SZ.v vj + 1 - SZ.v vi /\
122-
(not vcont ==> vc_inner <= reveal c0 + op_Multiply (SZ.v vj) (SZ.v vj - 1) / 2 + SZ.v vj)
121+
vc_inner <= reveal c0 + op_Star (SZ.v vj) (SZ.v vj - 1) / 2 + SZ.v vj + 1 - SZ.v vi /\
122+
(not vcont ==> vc_inner <= reveal c0 + op_Star (SZ.v vj) (SZ.v vj - 1) / 2 + SZ.v vj)
123123
)
124124
decreases (SZ.v !i)
125125
{

autoclrs/ch02-getting-started/CLRS.Ch02.InsertionSort.Lemmas.fst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,4 @@ let lemma_combine_sorted_regions
2828
= ()
2929

3030
let lemma_triangle_step (vj: nat)
31-
= assert (op_Multiply vj (vj - 1) + op_Multiply 2 vj == op_Multiply vj (vj + 1))
31+
= assert (op_Star vj (vj - 1) + op_Star 2 vj == op_Star vj (vj + 1))

autoclrs/ch02-getting-started/CLRS.Ch02.InsertionSort.Lemmas.fsti

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,4 @@ val lemma_combine_sorted_regions
3232

3333
val lemma_triangle_step (vj: nat)
3434
: Lemma (requires vj >= 1)
35-
(ensures op_Multiply vj (vj - 1) / 2 + vj == op_Multiply (vj + 1) vj / 2)
35+
(ensures op_Star vj (vj - 1) / 2 + vj == op_Star (vj + 1) vj / 2)

autoclrs/ch02-getting-started/CLRS.Ch02.InsertionSort.Spec.fst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ module Seq = FStar.Seq
1414
//SNIPPET_START: complexity_bounded
1515
let complexity_bounded (cf c0: nat) (n: nat) : prop =
1616
cf >= c0 /\
17-
cf - c0 <= op_Multiply n (n - 1) / 2
17+
cf - c0 <= op_Star n (n - 1) / 2
1818
//SNIPPET_END: complexity_bounded

autoclrs/ch02-getting-started/CLRS.Ch02.MergeSort.Complexity.fst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
module CLRS.Ch02.MergeSort.Complexity
22

3-
open FStar.Mul
43

54
(**
65
Complexity analysis for merge sort from CLRS Chapter 2.

autoclrs/ch02-getting-started/CLRS.Ch02.MergeSort.Complexity.fsti

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
*)
66
module CLRS.Ch02.MergeSort.Complexity
77

8-
open FStar.Mul
98

109
/// Ceiling of log base 2
1110
val log2_ceil (n: pos) : nat

autoclrs/ch02-getting-started/CLRS.Ch02.MergeSort.Impl.fst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ module GR = Pulse.Lib.GhostReference
3535
module SZ = FStar.SizeT
3636
module Seq = FStar.Seq
3737

38+
#set-options "--split_queries always"
39+
3840
// ================================================================
3941
// Helper: copy range between arrays
4042
// ================================================================
@@ -86,7 +88,7 @@ fn copy_range
8688
// Merge Implementation
8789
// ================================================================
8890

89-
#push-options "--z3rlimit 20 --fuel 2 --ifuel 1"
91+
#push-options "--z3rlimit 10 --fuel 2 --ifuel 1 --split_queries always"
9092

9193
//SNIPPET_START: merge_sig
9294
fn merge

autoclrs/ch02-getting-started/CLRS.Ch02.MergeSort.Lemmas.fst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ let seq_merge_permutation (s1 s2: Seq.seq int)
8282
// Merge preserves sortedness
8383
// ================================================================
8484

85-
#push-options "--z3rlimit 2 --fuel 2 --ifuel 1"
85+
#push-options "--z3rlimit 2 --fuel 2 --ifuel 1 --split_queries always"
8686

8787
let rec seq_merge_all_ge (v: int) (s1 s2: Seq.seq int)
8888
: Lemma (requires all_ge v s1 /\ all_ge v s2)

autoclrs/ch04-divide-conquer/CLRS.Ch04.MatrixMultiply.Impl.fst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ open Pulse.Lib.Pervasives
1515
open Pulse.Lib.Array
1616
open FStar.SizeT
1717
open Pulse.Lib.Reference
18-
open FStar.Mul
1918
open FStar.Classical
2019
open CLRS.Ch04.MatrixMultiply.Spec
2120

0 commit comments

Comments
 (0)