summaryrefslogtreecommitdiff
path: root/tests/fstar/misc/Loops.Clauses.fst
blob: 7d3c3ae66b14225a28ca2b33a9b798d56e49d56a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
(** [loops]: templates for the decreases clauses *)
module Loops.Clauses
open Primitives
open Loops.Types

#set-options "--z3rlimit 50 --fuel 1 --ifuel 1"

(** [loops::sum]: decreases clause *)
unfold let sum_loop_decreases (max : u32) (i : u32) (s : u32) : nat =
  if i <= max then max - i else 0

(** [loops::sum_with_mut_borrows]: decreases clause *)
unfold
let sum_with_mut_borrows_loop_decreases (max : u32) (mi : u32) (ms : u32) : nat =
  if max >= mi then max - mi else 0

(** [loops::sum_with_shared_borrows]: decreases clause *)
unfold
let sum_with_shared_borrows_loop_decreases (max : u32) (i : u32) (s : u32) : nat =
  if max >= i then max - i else 0

(** [loops::sum_array]: decreases clause *)
unfold
let sum_array_loop_decreases (n : usize) (_ : array u32 n) (i : usize) (_ : u32) : nat =
  if n >= i then n - i else 0

(** [loops::clear]: decreases clause *)
unfold let clear_loop_decreases (v : alloc_vec_Vec u32) (i : usize) : nat =
  if i <= List.Tot.length v then List.Tot.length v - i else 0

(** [loops::list_mem]: decreases clause *)
unfold let list_mem_loop_decreases (i : u32) (ls : list_t u32) : list_t u32 =
  ls

(** [loops::list_nth_mut_loop]: decreases clause *)
unfold
let list_nth_mut_loop_loop_decreases (t : Type0) (ls : list_t t) (i : u32) : nat =
  i

(** [loops::list_nth_shared_loop]: decreases clause *)
unfold
let list_nth_shared_loop_loop_decreases (t : Type0) (ls : list_t t) (i : u32) : list_t t =
  ls

(** [loops::get_elem_mut]: decreases clause *)
unfold
let get_elem_mut_loop_decreases (x : usize) (ls : list_t usize) : list_t usize = ls

(** [loops::get_elem_shared]: decreases clause *)
unfold
let get_elem_shared_loop_decreases (x : usize) (ls : list_t usize) : list_t usize =
  ls

(** [loops::list_nth_mut_loop_with_id]: decreases clause *)
unfold
let list_nth_mut_loop_with_id_loop_decreases (t : Type0) (i : u32) (ls : list_t t) :
  list_t t =
  ls

(** [loops::list_nth_shared_loop_with_id]: decreases clause *)
unfold
let list_nth_shared_loop_with_id_loop_decreases (t : Type0) (i : u32)
  (ls : list_t t) : list_t t =
  ls

(** [loops::list_nth_mut_loop_pair]: decreases clause *)
unfold
let list_nth_mut_loop_pair_loop_decreases (t : Type0) (l : list_t t) (l0 : list_t t)
  (i : u32) : nat =
  i

(** [loops::list_nth_shared_loop_pair]: decreases clause *)
unfold
let list_nth_shared_loop_pair_loop_decreases (t : Type0) (l : list_t t)
  (l0 : list_t t) (i : u32) : list_t t =
  l

(** [loops::list_nth_mut_loop_pair_merge]: decreases clause *)
unfold
let list_nth_mut_loop_pair_merge_loop_decreases (t : Type0) (l : list_t t)
  (l0 : list_t t) (i : u32) : nat =
  i

(** [loops::list_nth_shared_loop_pair_merge]: decreases clause *)
unfold
let list_nth_shared_loop_pair_merge_loop_decreases (t : Type0) (l : list_t t)
  (l0 : list_t t) (i : u32) : list_t t =
  l

(** [loops::list_nth_mut_shared_loop_pair]: decreases clause *)
unfold
let list_nth_mut_shared_loop_pair_loop_decreases (t : Type0) (l : list_t t)
  (l0 : list_t t) (i : u32) : list_t t =
  l

(** [loops::list_nth_mut_shared_loop_pair_merge]: decreases clause *)
unfold
let list_nth_mut_shared_loop_pair_merge_loop_decreases (t : Type0) (l : list_t t)
  (l0 : list_t t) (i : u32) : list_t t =
  l

(** [loops::list_nth_shared_mut_loop_pair]: decreases clause *)
unfold
let list_nth_shared_mut_loop_pair_loop_decreases (t : Type0) (l : list_t t)
  (l0 : list_t t) (i : u32) : list_t t =
  l

(** [loops::list_nth_shared_mut_loop_pair_merge]: decreases clause *)
unfold
let list_nth_shared_mut_loop_pair_merge_loop_decreases (t : Type0) (l : list_t t)
  (l0 : list_t t) (i : u32) : list_t t =
  l

(** [loops::ignore_input_mut_borrow]: decreases clause
    Source: 'src/loops.rs', lines 345:0-349:1 *)
unfold let ignore_input_mut_borrow_loop_decreases (i : u32) : nat = i

(** [loops::incr_ignore_input_mut_borrow]: decreases clause
    Source: 'src/loops.rs', lines 353:0-358:1 *)
unfold
let incr_ignore_input_mut_borrow_loop_decreases (i : u32) : nat = i

(** [loops::ignore_input_shared_borrow]: decreases clause
    Source: 'src/loops.rs', lines 362:0-366:1 *)
unfold let ignore_input_shared_borrow_loop_decreases (i : u32) : nat = i