summaryrefslogtreecommitdiff
path: root/tests/fstar/arrays/Arrays.Clauses.fst
diff options
context:
space:
mode:
authorSon HO2024-02-03 00:23:30 +0100
committerGitHub2024-02-03 00:23:30 +0100
commiteb8bddcbd120f666f74023de9a23c48e1a55833d (patch)
tree1d8290e4b947e431c3d8d3a9f8575f23c3afe5e1 /tests/fstar/arrays/Arrays.Clauses.fst
parent0960ad16838a43da3746f47cf5b640bfbb783d84 (diff)
parent9cc912e2414870df85ffc4dd346ade5dba2b5c37 (diff)
Merge pull request #68 from AeneasVerif/son/update_lean
Update Lean to v4.6.0-rc1
Diffstat (limited to 'tests/fstar/arrays/Arrays.Clauses.fst')
-rw-r--r--tests/fstar/arrays/Arrays.Clauses.fst19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/fstar/arrays/Arrays.Clauses.fst b/tests/fstar/arrays/Arrays.Clauses.fst
new file mode 100644
index 00000000..aca328c2
--- /dev/null
+++ b/tests/fstar/arrays/Arrays.Clauses.fst
@@ -0,0 +1,19 @@
+(** [arrays]: decreases clauses *)
+module Arrays.Clauses
+open Primitives
+open Arrays.Types
+open FStar.List.Tot
+
+#set-options "--z3rlimit 50 --fuel 1 --ifuel 1"
+
+(** [arrays::sum]: decreases clause *)
+unfold
+let sum_loop_decreases (s : slice u32) (sum : u32) (i : usize) : nat =
+ if i < length s then length s - i else 0
+
+(** [arrays::sum2]: decreases clause *)
+unfold
+let sum2_loop_decreases (s : slice u32) (s2 : slice u32) (sum : u32)
+ (i : usize) : nat =
+ if i < length s then length s - i else 0
+