summaryrefslogtreecommitdiff
path: root/tests/fstar/hashmap_on_disk/HashmapMain.Clauses.fst
blob: b864e32a0d3ac27c99218ccde46f6932fdfc402b (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
(** [hashmap]: the decreases clauses *)
module HashmapMain.Clauses
open Primitives
open FStar.List.Tot
open HashmapMain.Types

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

(** [hashmap::HashMap::allocate_slots]: decreases clause *)
unfold
let hashmap_hash_map_allocate_slots_decreases (t : Type0) (slots : vec (hashmap_list_t t))
  (n : usize) : nat = n

(** [hashmap::HashMap::clear_slots]: decreases clause *)
unfold
let hashmap_hash_map_clear_slots_decreases (t : Type0) (slots : vec (hashmap_list_t t))
  (i : usize) : nat =
  if i < length slots then length slots - i else 0

(** [hashmap::HashMap::insert_in_list]: decreases clause *)
unfold
let hashmap_hash_map_insert_in_list_decreases (t : Type0) (key : usize) (value : t)
  (ls : hashmap_list_t t) : hashmap_list_t t =
  ls

(** [hashmap::HashMap::move_elements_from_list]: decreases clause *)
unfold
let hashmap_hash_map_move_elements_from_list_decreases (t : Type0)
  (ntable : hashmap_hash_map_t t) (ls : hashmap_list_t t) : hashmap_list_t t =
  ls

(** [hashmap::HashMap::move_elements]: decreases clause *)
unfold
let hashmap_hash_map_move_elements_decreases (t : Type0) (ntable : hashmap_hash_map_t t)
  (slots : vec (hashmap_list_t t)) (i : usize) : nat =
  if i < length slots then length slots - i else 0

(** [hashmap::HashMap::contains_key_in_list]: decreases clause *)
unfold
let hashmap_hash_map_contains_key_in_list_decreases (t : Type0) (key : usize)
  (ls : hashmap_list_t t) : hashmap_list_t t =
  ls

(** [hashmap::HashMap::get_in_list]: decreases clause *)
unfold
let hashmap_hash_map_get_in_list_decreases (t : Type0) (key : usize) (ls : hashmap_list_t t) :
  hashmap_list_t t =
  ls

(** [hashmap::HashMap::get_mut_in_list]: decreases clause *)
unfold
let hashmap_hash_map_get_mut_in_list_decreases (t : Type0) (key : usize)
  (ls : hashmap_list_t t) : hashmap_list_t t =
  ls

(** [hashmap::HashMap::remove_from_list]: decreases clause *)
unfold
let hashmap_hash_map_remove_from_list_decreases (t : Type0) (key : usize)
  (ls : hashmap_list_t t) : hashmap_list_t t =
  ls