summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSon Ho2023-11-21 11:40:59 +0100
committerSon Ho2023-11-21 11:40:59 +0100
commit5e92ae6b361f9221f5c5f9a39ab4c28a36597a77 (patch)
treec10596aff88b97b1ba496d08236f20084f8da08b
parent00882b8fe6d8ef1d9b7a03cd5949f909d58a2da9 (diff)
Regenerate most of the test files
Diffstat (limited to '')
-rw-r--r--tests/coq/array/Array.v32
-rw-r--r--tests/coq/array/Primitives.v88
-rw-r--r--tests/coq/betree/Primitives.v88
-rw-r--r--tests/coq/hashmap/Hashmap_Funs.v106
-rw-r--r--tests/coq/hashmap/Primitives.v88
-rw-r--r--tests/coq/hashmap_on_disk/HashmapMain_Funs.v116
-rw-r--r--tests/coq/hashmap_on_disk/Primitives.v88
-rw-r--r--tests/coq/misc/Constants.v2
-rw-r--r--tests/coq/misc/External_Opaque.v4
-rw-r--r--tests/coq/misc/Loops.v15
-rw-r--r--tests/coq/misc/NoNestedBorrows.v5
-rw-r--r--tests/coq/misc/Primitives.v88
-rw-r--r--tests/coq/traits/Primitives.v88
-rw-r--r--tests/fstar/array/Array.Funs.fst32
-rw-r--r--tests/fstar/array/Primitives.fst88
-rw-r--r--tests/fstar/betree/Primitives.fst88
-rw-r--r--tests/fstar/betree_back_stateful/Primitives.fst88
-rw-r--r--tests/fstar/hashmap/Hashmap.Clauses.Template.fst18
-rw-r--r--tests/fstar/hashmap/Hashmap.Funs.fst130
-rw-r--r--tests/fstar/hashmap/Primitives.fst88
-rw-r--r--tests/fstar/hashmap_on_disk/HashmapMain.Clauses.Template.fst18
-rw-r--r--tests/fstar/hashmap_on_disk/HashmapMain.Funs.fst116
-rw-r--r--tests/fstar/hashmap_on_disk/Primitives.fst88
-rw-r--r--tests/fstar/misc/Constants.fst2
-rw-r--r--tests/fstar/misc/External.Opaque.fsti4
-rw-r--r--tests/fstar/misc/Loops.Funs.fst14
-rw-r--r--tests/fstar/misc/NoNestedBorrows.fst5
-rw-r--r--tests/fstar/misc/Primitives.fst88
-rw-r--r--tests/fstar/traits/Primitives.fst88
-rw-r--r--tests/lean/Array.lean32
-rw-r--r--tests/lean/Constants.lean2
-rw-r--r--tests/lean/External/FunsExternal_Template.lean4
-rw-r--r--tests/lean/Hashmap/Funs.lean130
-rw-r--r--tests/lean/HashmapMain/Funs.lean115
-rw-r--r--tests/lean/Loops.lean15
35 files changed, 1045 insertions, 1016 deletions
diff --git a/tests/coq/array/Array.v b/tests/coq/array/Array.v
index 825f73e0..256ccd1c 100644
--- a/tests/coq/array/Array.v
+++ b/tests/coq/array/Array.v
@@ -101,7 +101,7 @@ Definition index_mut_slice_back
Definition slice_subslice_shared_
(x : slice u32) (y : usize) (z : usize) : result (slice u32) :=
core_slice_index_Slice_index u32 (core_ops_range_Range usize)
- (core_slice_index_Range_coresliceindexSliceIndexInst u32) x
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32) x
{| core_ops_range_Range_start := y; core_ops_range_Range_end_ := z |}
.
@@ -109,7 +109,7 @@ Definition slice_subslice_shared_
Definition slice_subslice_mut_
(x : slice u32) (y : usize) (z : usize) : result (slice u32) :=
core_slice_index_Slice_index_mut u32 (core_ops_range_Range usize)
- (core_slice_index_Range_coresliceindexSliceIndexInst u32) x
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32) x
{| core_ops_range_Range_start := y; core_ops_range_Range_end_ := z |}
.
@@ -119,7 +119,7 @@ Definition slice_subslice_mut__back
result (slice u32)
:=
core_slice_index_Slice_index_mut_back u32 (core_ops_range_Range usize)
- (core_slice_index_Range_coresliceindexSliceIndexInst u32) x
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32) x
{| core_ops_range_Range_start := y; core_ops_range_Range_end_ := z |} ret
.
@@ -144,8 +144,8 @@ Definition array_to_slice_mut__back
Definition array_subslice_shared_
(x : array u32 32%usize) (y : usize) (z : usize) : result (slice u32) :=
core_array_Array_index u32 (core_ops_range_Range usize) 32%usize
- (core_slice_index_Slice_coreopsindexIndexInst u32 (core_ops_range_Range
- usize) (core_slice_index_Range_coresliceindexSliceIndexInst u32)) x
+ (core_ops_index_IndexSliceTIInst u32 (core_ops_range_Range usize)
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32)) x
{| core_ops_range_Range_start := y; core_ops_range_Range_end_ := z |}
.
@@ -153,8 +153,8 @@ Definition array_subslice_shared_
Definition array_subslice_mut_
(x : array u32 32%usize) (y : usize) (z : usize) : result (slice u32) :=
core_array_Array_index_mut u32 (core_ops_range_Range usize) 32%usize
- (core_slice_index_Slice_coreopsindexIndexMutInst u32 (core_ops_range_Range
- usize) (core_slice_index_Range_coresliceindexSliceIndexInst u32)) x
+ (core_ops_index_IndexMutSliceTIInst u32 (core_ops_range_Range usize)
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32)) x
{| core_ops_range_Range_start := y; core_ops_range_Range_end_ := z |}
.
@@ -164,8 +164,8 @@ Definition array_subslice_mut__back
result (array u32 32%usize)
:=
core_array_Array_index_mut_back u32 (core_ops_range_Range usize) 32%usize
- (core_slice_index_Slice_coreopsindexIndexMutInst u32 (core_ops_range_Range
- usize) (core_slice_index_Range_coresliceindexSliceIndexInst u32)) x
+ (core_ops_index_IndexMutSliceTIInst u32 (core_ops_range_Range usize)
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32)) x
{| core_ops_range_Range_start := y; core_ops_range_Range_end_ := z |} ret
.
@@ -309,9 +309,8 @@ Definition update_all : result unit :=
Definition range_all : result unit :=
s <-
core_array_Array_index_mut u32 (core_ops_range_Range usize) 4%usize
- (core_slice_index_Slice_coreopsindexIndexMutInst u32
- (core_ops_range_Range usize)
- (core_slice_index_Range_coresliceindexSliceIndexInst u32))
+ (core_ops_index_IndexMutSliceTIInst u32 (core_ops_range_Range usize)
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32))
(mk_array u32 4%usize [ 0%u32; 0%u32; 0%u32; 0%u32 ])
{|
core_ops_range_Range_start := 1%usize;
@@ -320,9 +319,8 @@ Definition range_all : result unit :=
s0 <- update_mut_slice s;
_ <-
core_array_Array_index_mut_back u32 (core_ops_range_Range usize) 4%usize
- (core_slice_index_Slice_coreopsindexIndexMutInst u32
- (core_ops_range_Range usize)
- (core_slice_index_Range_coresliceindexSliceIndexInst u32))
+ (core_ops_index_IndexMutSliceTIInst u32 (core_ops_range_Range usize)
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32))
(mk_array u32 4%usize [ 0%u32; 0%u32; 0%u32; 0%u32 ])
{|
core_ops_range_Range_start := 1%usize;
@@ -430,8 +428,8 @@ Definition f2 (i : u32) : result unit :=
Definition f4
(x : array u32 32%usize) (y : usize) (z : usize) : result (slice u32) :=
core_array_Array_index u32 (core_ops_range_Range usize) 32%usize
- (core_slice_index_Slice_coreopsindexIndexInst u32 (core_ops_range_Range
- usize) (core_slice_index_Range_coresliceindexSliceIndexInst u32)) x
+ (core_ops_index_IndexSliceTIInst u32 (core_ops_range_Range usize)
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32)) x
{| core_ops_range_Range_start := y; core_ops_range_Range_end_ := z |}
.
diff --git a/tests/coq/array/Primitives.v b/tests/coq/array/Primitives.v
index 85e38f01..83f860b6 100644
--- a/tests/coq/array/Primitives.v
+++ b/tests/coq/array/Primitives.v
@@ -467,14 +467,14 @@ Definition alloc_boxed_Box_deref_mut (T : Type) (x : T) : result T := Return x.
Definition alloc_boxed_Box_deref_mut_back (T : Type) (_ : T) (x : T) : result T := Return x.
(* Trait instance *)
-Definition alloc_boxed_Box_coreOpsDerefInst (Self : Type) : core_ops_deref_Deref Self := {|
+Definition alloc_boxed_Box_coreopsDerefInst (Self : Type) : core_ops_deref_Deref Self := {|
core_ops_deref_Deref_target := Self;
core_ops_deref_Deref_deref := alloc_boxed_Box_deref Self;
|}.
(* Trait instance *)
-Definition alloc_boxed_Box_coreOpsDerefMutInst (Self : Type) : core_ops_deref_DerefMut Self := {|
- core_ops_deref_DerefMut_derefInst := alloc_boxed_Box_coreOpsDerefInst Self;
+Definition alloc_boxed_Box_coreopsDerefMutInst (Self : Type) : core_ops_deref_DerefMut Self := {|
+ core_ops_deref_DerefMut_derefInst := alloc_boxed_Box_coreopsDerefInst Self;
core_ops_deref_DerefMut_deref_mut := alloc_boxed_Box_deref_mut Self;
core_ops_deref_DerefMut_deref_mut_back := alloc_boxed_Box_deref_mut_back Self;
|}.
@@ -576,7 +576,7 @@ Definition alloc_vec_Vec_insert (T: Type) (v: alloc_vec_Vec T) (i: usize) (x: T)
else Fail_ Failure).
(* Helper *)
-Axiom alloc_vec_Vec_index_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize) (x : T), result T.
+Axiom alloc_vec_Vec_index_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize), result T.
(* Helper *)
Axiom alloc_vec_Vec_update_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize) (x : T), result (alloc_vec_Vec T).
@@ -620,18 +620,18 @@ Definition core_slice_index_Slice_index
end.
(* [core::slice::index::Range:::get]: forward function *)
-Axiom core_slice_index_Range_get : forall (T : Type) (i : core_ops_range_Range usize) (s : slice T), result (option (slice T)).
+Axiom core_slice_index_RangeUsize_get : forall (T : Type) (i : core_ops_range_Range usize) (s : slice T), result (option (slice T)).
(* [core::slice::index::Range::get_mut]: forward function *)
-Axiom core_slice_index_Range_get_mut :
+Axiom core_slice_index_RangeUsize_get_mut :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (option (slice T)).
(* [core::slice::index::Range::get_mut]: backward function 0 *)
-Axiom core_slice_index_Range_get_mut_back :
+Axiom core_slice_index_RangeUsize_get_mut_back :
forall (T : Type), core_ops_range_Range usize -> slice T -> option (slice T) -> result (slice T).
(* [core::slice::index::Range::get_unchecked]: forward function *)
-Definition core_slice_index_Range_get_unchecked
+Definition core_slice_index_RangeUsize_get_unchecked
(T : Type) :
core_ops_range_Range usize -> const_raw_ptr (slice T) -> result (const_raw_ptr (slice T)) :=
(* Don't know what the model should be - for now we always fail to make
@@ -639,7 +639,7 @@ Definition core_slice_index_Range_get_unchecked
fun _ _ => Fail_ Failure.
(* [core::slice::index::Range::get_unchecked_mut]: forward function *)
-Definition core_slice_index_Range_get_unchecked_mut
+Definition core_slice_index_RangeUsize_get_unchecked_mut
(T : Type) :
core_ops_range_Range usize -> mut_raw_ptr (slice T) -> result (mut_raw_ptr (slice T)) :=
(* Don't know what the model should be - for now we always fail to make
@@ -647,15 +647,15 @@ Definition core_slice_index_Range_get_unchecked_mut
fun _ _ => Fail_ Failure.
(* [core::slice::index::Range::index]: forward function *)
-Axiom core_slice_index_Range_index :
+Axiom core_slice_index_RangeUsize_index :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (slice T).
(* [core::slice::index::Range::index_mut]: forward function *)
-Axiom core_slice_index_Range_index_mut :
+Axiom core_slice_index_RangeUsize_index_mut :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (slice T).
(* [core::slice::index::Range::index_mut]: backward function 0 *)
-Axiom core_slice_index_Range_index_mut_back :
+Axiom core_slice_index_RangeUsize_index_mut_back :
forall (T : Type), core_ops_range_Range usize -> slice T -> slice T -> result (slice T).
(* [core::slice::index::[T]::index_mut]: forward function *)
@@ -683,44 +683,44 @@ Axiom core_array_Array_index_mut_back :
forall (T Idx : Type) (N : usize) (inst : core_ops_index_IndexMut (slice T) Idx)
(a : array T N) (i : Idx) (x : inst.(core_ops_index_IndexMut_indexInst).(core_ops_index_Index_Output)), result (array T N).
-(* Trait implementation: [core::slice::index::[T]] *)
-Definition core_slice_index_Slice_coreopsindexIndexInst (T Idx : Type)
- (inst : core_slice_index_SliceIndex Idx (slice T)) :
- core_ops_index_Index (slice T) Idx := {|
- core_ops_index_Index_Output := inst.(core_slice_index_SliceIndex_Output);
- core_ops_index_Index_index := core_slice_index_Slice_index T Idx inst;
-|}.
-
(* Trait implementation: [core::slice::index::private_slice_index::Range] *)
-Definition core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst
+Definition core_slice_index_private_slice_index_SealedRangeUsizeInst
: core_slice_index_private_slice_index_Sealed (core_ops_range_Range usize) := tt.
(* Trait implementation: [core::slice::index::Range] *)
-Definition core_slice_index_Range_coresliceindexSliceIndexInst (T : Type) :
+Definition core_slice_index_SliceIndexRangeUsizeSliceTInst (T : Type) :
core_slice_index_SliceIndex (core_ops_range_Range usize) (slice T) := {|
- core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst;
+ core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_SealedRangeUsizeInst;
core_slice_index_SliceIndex_Output := slice T;
- core_slice_index_SliceIndex_get := core_slice_index_Range_get T;
- core_slice_index_SliceIndex_get_mut := core_slice_index_Range_get_mut T;
- core_slice_index_SliceIndex_get_mut_back := core_slice_index_Range_get_mut_back T;
- core_slice_index_SliceIndex_get_unchecked := core_slice_index_Range_get_unchecked T;
- core_slice_index_SliceIndex_get_unchecked_mut := core_slice_index_Range_get_unchecked_mut T;
- core_slice_index_SliceIndex_index := core_slice_index_Range_index T;
- core_slice_index_SliceIndex_index_mut := core_slice_index_Range_index_mut T;
- core_slice_index_SliceIndex_index_mut_back := core_slice_index_Range_index_mut_back T;
+ core_slice_index_SliceIndex_get := core_slice_index_RangeUsize_get T;
+ core_slice_index_SliceIndex_get_mut := core_slice_index_RangeUsize_get_mut T;
+ core_slice_index_SliceIndex_get_mut_back := core_slice_index_RangeUsize_get_mut_back T;
+ core_slice_index_SliceIndex_get_unchecked := core_slice_index_RangeUsize_get_unchecked T;
+ core_slice_index_SliceIndex_get_unchecked_mut := core_slice_index_RangeUsize_get_unchecked_mut T;
+ core_slice_index_SliceIndex_index := core_slice_index_RangeUsize_index T;
+ core_slice_index_SliceIndex_index_mut := core_slice_index_RangeUsize_index_mut T;
+ core_slice_index_SliceIndex_index_mut_back := core_slice_index_RangeUsize_index_mut_back T;
+|}.
+
+(* Trait implementation: [core::slice::index::[T]] *)
+Definition core_ops_index_IndexSliceTIInst (T Idx : Type)
+ (inst : core_slice_index_SliceIndex Idx (slice T)) :
+ core_ops_index_Index (slice T) Idx := {|
+ core_ops_index_Index_Output := inst.(core_slice_index_SliceIndex_Output);
+ core_ops_index_Index_index := core_slice_index_Slice_index T Idx inst;
|}.
(* Trait implementation: [core::slice::index::[T]] *)
-Definition core_slice_index_Slice_coreopsindexIndexMutInst (T Idx : Type)
+Definition core_ops_index_IndexMutSliceTIInst (T Idx : Type)
(inst : core_slice_index_SliceIndex Idx (slice T)) :
core_ops_index_IndexMut (slice T) Idx := {|
- core_ops_index_IndexMut_indexInst := core_slice_index_Slice_coreopsindexIndexInst T Idx inst;
+ core_ops_index_IndexMut_indexInst := core_ops_index_IndexSliceTIInst T Idx inst;
core_ops_index_IndexMut_index_mut := core_slice_index_Slice_index_mut T Idx inst;
core_ops_index_IndexMut_index_mut_back := core_slice_index_Slice_index_mut_back T Idx inst;
|}.
(* Trait implementation: [core::array::[T; N]] *)
-Definition core_array_Array_coreopsindexIndexInst (T Idx : Type) (N : usize)
+Definition core_ops_index_IndexArrayInst (T Idx : Type) (N : usize)
(inst : core_ops_index_Index (slice T) Idx) :
core_ops_index_Index (array T N) Idx := {|
core_ops_index_Index_Output := inst.(core_ops_index_Index_Output);
@@ -728,10 +728,10 @@ Definition core_array_Array_coreopsindexIndexInst (T Idx : Type) (N : usize)
|}.
(* Trait implementation: [core::array::[T; N]] *)
-Definition core_array_Array_coreopsindexIndexMutInst (T Idx : Type) (N : usize)
+Definition core_ops_index_IndexMutArrayInst (T Idx : Type) (N : usize)
(inst : core_ops_index_IndexMut (slice T) Idx) :
core_ops_index_IndexMut (array T N) Idx := {|
- core_ops_index_IndexMut_indexInst := core_array_Array_coreopsindexIndexInst T Idx N inst.(core_ops_index_IndexMut_indexInst);
+ core_ops_index_IndexMut_indexInst := core_ops_index_IndexArrayInst T Idx N inst.(core_ops_index_IndexMut_indexInst);
core_ops_index_IndexMut_index_mut := core_array_Array_index_mut T Idx N inst;
core_ops_index_IndexMut_index_mut_back := core_array_Array_index_mut_back T Idx N inst;
|}.
@@ -765,13 +765,13 @@ Axiom core_slice_index_usize_index_mut_back :
forall (T : Type), usize -> slice T -> T -> result (slice T).
(* Trait implementation: [core::slice::index::private_slice_index::usize] *)
-Definition core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst
+Definition core_slice_index_private_slice_index_SealedUsizeInst
: core_slice_index_private_slice_index_Sealed usize := tt.
(* Trait implementation: [core::slice::index::usize] *)
-Definition core_slice_index_usize_coresliceindexSliceIndexInst (T : Type) :
+Definition core_slice_index_SliceIndexUsizeSliceTInst (T : Type) :
core_slice_index_SliceIndex usize (slice T) := {|
- core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst;
+ core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_SealedUsizeInst;
core_slice_index_SliceIndex_Output := T;
core_slice_index_SliceIndex_get := core_slice_index_usize_get T;
core_slice_index_SliceIndex_get_mut := core_slice_index_usize_get_mut T;
@@ -815,8 +815,16 @@ Definition alloc_vec_Vec_coreopsindexIndexMutInst (T Idx : Type)
(*** Theorems *)
+Axiom alloc_vec_Vec_index_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
+ alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i =
+ alloc_vec_Vec_index_usize v i.
+
+Axiom alloc_vec_Vec_index_mut_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
+ alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i =
+ alloc_vec_Vec_index_usize v i.
+
Axiom alloc_vec_Vec_index_mut_back_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
- alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x =
+ alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x =
alloc_vec_Vec_update_usize v i x.
End Primitives.
diff --git a/tests/coq/betree/Primitives.v b/tests/coq/betree/Primitives.v
index 85e38f01..83f860b6 100644
--- a/tests/coq/betree/Primitives.v
+++ b/tests/coq/betree/Primitives.v
@@ -467,14 +467,14 @@ Definition alloc_boxed_Box_deref_mut (T : Type) (x : T) : result T := Return x.
Definition alloc_boxed_Box_deref_mut_back (T : Type) (_ : T) (x : T) : result T := Return x.
(* Trait instance *)
-Definition alloc_boxed_Box_coreOpsDerefInst (Self : Type) : core_ops_deref_Deref Self := {|
+Definition alloc_boxed_Box_coreopsDerefInst (Self : Type) : core_ops_deref_Deref Self := {|
core_ops_deref_Deref_target := Self;
core_ops_deref_Deref_deref := alloc_boxed_Box_deref Self;
|}.
(* Trait instance *)
-Definition alloc_boxed_Box_coreOpsDerefMutInst (Self : Type) : core_ops_deref_DerefMut Self := {|
- core_ops_deref_DerefMut_derefInst := alloc_boxed_Box_coreOpsDerefInst Self;
+Definition alloc_boxed_Box_coreopsDerefMutInst (Self : Type) : core_ops_deref_DerefMut Self := {|
+ core_ops_deref_DerefMut_derefInst := alloc_boxed_Box_coreopsDerefInst Self;
core_ops_deref_DerefMut_deref_mut := alloc_boxed_Box_deref_mut Self;
core_ops_deref_DerefMut_deref_mut_back := alloc_boxed_Box_deref_mut_back Self;
|}.
@@ -576,7 +576,7 @@ Definition alloc_vec_Vec_insert (T: Type) (v: alloc_vec_Vec T) (i: usize) (x: T)
else Fail_ Failure).
(* Helper *)
-Axiom alloc_vec_Vec_index_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize) (x : T), result T.
+Axiom alloc_vec_Vec_index_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize), result T.
(* Helper *)
Axiom alloc_vec_Vec_update_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize) (x : T), result (alloc_vec_Vec T).
@@ -620,18 +620,18 @@ Definition core_slice_index_Slice_index
end.
(* [core::slice::index::Range:::get]: forward function *)
-Axiom core_slice_index_Range_get : forall (T : Type) (i : core_ops_range_Range usize) (s : slice T), result (option (slice T)).
+Axiom core_slice_index_RangeUsize_get : forall (T : Type) (i : core_ops_range_Range usize) (s : slice T), result (option (slice T)).
(* [core::slice::index::Range::get_mut]: forward function *)
-Axiom core_slice_index_Range_get_mut :
+Axiom core_slice_index_RangeUsize_get_mut :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (option (slice T)).
(* [core::slice::index::Range::get_mut]: backward function 0 *)
-Axiom core_slice_index_Range_get_mut_back :
+Axiom core_slice_index_RangeUsize_get_mut_back :
forall (T : Type), core_ops_range_Range usize -> slice T -> option (slice T) -> result (slice T).
(* [core::slice::index::Range::get_unchecked]: forward function *)
-Definition core_slice_index_Range_get_unchecked
+Definition core_slice_index_RangeUsize_get_unchecked
(T : Type) :
core_ops_range_Range usize -> const_raw_ptr (slice T) -> result (const_raw_ptr (slice T)) :=
(* Don't know what the model should be - for now we always fail to make
@@ -639,7 +639,7 @@ Definition core_slice_index_Range_get_unchecked
fun _ _ => Fail_ Failure.
(* [core::slice::index::Range::get_unchecked_mut]: forward function *)
-Definition core_slice_index_Range_get_unchecked_mut
+Definition core_slice_index_RangeUsize_get_unchecked_mut
(T : Type) :
core_ops_range_Range usize -> mut_raw_ptr (slice T) -> result (mut_raw_ptr (slice T)) :=
(* Don't know what the model should be - for now we always fail to make
@@ -647,15 +647,15 @@ Definition core_slice_index_Range_get_unchecked_mut
fun _ _ => Fail_ Failure.
(* [core::slice::index::Range::index]: forward function *)
-Axiom core_slice_index_Range_index :
+Axiom core_slice_index_RangeUsize_index :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (slice T).
(* [core::slice::index::Range::index_mut]: forward function *)
-Axiom core_slice_index_Range_index_mut :
+Axiom core_slice_index_RangeUsize_index_mut :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (slice T).
(* [core::slice::index::Range::index_mut]: backward function 0 *)
-Axiom core_slice_index_Range_index_mut_back :
+Axiom core_slice_index_RangeUsize_index_mut_back :
forall (T : Type), core_ops_range_Range usize -> slice T -> slice T -> result (slice T).
(* [core::slice::index::[T]::index_mut]: forward function *)
@@ -683,44 +683,44 @@ Axiom core_array_Array_index_mut_back :
forall (T Idx : Type) (N : usize) (inst : core_ops_index_IndexMut (slice T) Idx)
(a : array T N) (i : Idx) (x : inst.(core_ops_index_IndexMut_indexInst).(core_ops_index_Index_Output)), result (array T N).
-(* Trait implementation: [core::slice::index::[T]] *)
-Definition core_slice_index_Slice_coreopsindexIndexInst (T Idx : Type)
- (inst : core_slice_index_SliceIndex Idx (slice T)) :
- core_ops_index_Index (slice T) Idx := {|
- core_ops_index_Index_Output := inst.(core_slice_index_SliceIndex_Output);
- core_ops_index_Index_index := core_slice_index_Slice_index T Idx inst;
-|}.
-
(* Trait implementation: [core::slice::index::private_slice_index::Range] *)
-Definition core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst
+Definition core_slice_index_private_slice_index_SealedRangeUsizeInst
: core_slice_index_private_slice_index_Sealed (core_ops_range_Range usize) := tt.
(* Trait implementation: [core::slice::index::Range] *)
-Definition core_slice_index_Range_coresliceindexSliceIndexInst (T : Type) :
+Definition core_slice_index_SliceIndexRangeUsizeSliceTInst (T : Type) :
core_slice_index_SliceIndex (core_ops_range_Range usize) (slice T) := {|
- core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst;
+ core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_SealedRangeUsizeInst;
core_slice_index_SliceIndex_Output := slice T;
- core_slice_index_SliceIndex_get := core_slice_index_Range_get T;
- core_slice_index_SliceIndex_get_mut := core_slice_index_Range_get_mut T;
- core_slice_index_SliceIndex_get_mut_back := core_slice_index_Range_get_mut_back T;
- core_slice_index_SliceIndex_get_unchecked := core_slice_index_Range_get_unchecked T;
- core_slice_index_SliceIndex_get_unchecked_mut := core_slice_index_Range_get_unchecked_mut T;
- core_slice_index_SliceIndex_index := core_slice_index_Range_index T;
- core_slice_index_SliceIndex_index_mut := core_slice_index_Range_index_mut T;
- core_slice_index_SliceIndex_index_mut_back := core_slice_index_Range_index_mut_back T;
+ core_slice_index_SliceIndex_get := core_slice_index_RangeUsize_get T;
+ core_slice_index_SliceIndex_get_mut := core_slice_index_RangeUsize_get_mut T;
+ core_slice_index_SliceIndex_get_mut_back := core_slice_index_RangeUsize_get_mut_back T;
+ core_slice_index_SliceIndex_get_unchecked := core_slice_index_RangeUsize_get_unchecked T;
+ core_slice_index_SliceIndex_get_unchecked_mut := core_slice_index_RangeUsize_get_unchecked_mut T;
+ core_slice_index_SliceIndex_index := core_slice_index_RangeUsize_index T;
+ core_slice_index_SliceIndex_index_mut := core_slice_index_RangeUsize_index_mut T;
+ core_slice_index_SliceIndex_index_mut_back := core_slice_index_RangeUsize_index_mut_back T;
+|}.
+
+(* Trait implementation: [core::slice::index::[T]] *)
+Definition core_ops_index_IndexSliceTIInst (T Idx : Type)
+ (inst : core_slice_index_SliceIndex Idx (slice T)) :
+ core_ops_index_Index (slice T) Idx := {|
+ core_ops_index_Index_Output := inst.(core_slice_index_SliceIndex_Output);
+ core_ops_index_Index_index := core_slice_index_Slice_index T Idx inst;
|}.
(* Trait implementation: [core::slice::index::[T]] *)
-Definition core_slice_index_Slice_coreopsindexIndexMutInst (T Idx : Type)
+Definition core_ops_index_IndexMutSliceTIInst (T Idx : Type)
(inst : core_slice_index_SliceIndex Idx (slice T)) :
core_ops_index_IndexMut (slice T) Idx := {|
- core_ops_index_IndexMut_indexInst := core_slice_index_Slice_coreopsindexIndexInst T Idx inst;
+ core_ops_index_IndexMut_indexInst := core_ops_index_IndexSliceTIInst T Idx inst;
core_ops_index_IndexMut_index_mut := core_slice_index_Slice_index_mut T Idx inst;
core_ops_index_IndexMut_index_mut_back := core_slice_index_Slice_index_mut_back T Idx inst;
|}.
(* Trait implementation: [core::array::[T; N]] *)
-Definition core_array_Array_coreopsindexIndexInst (T Idx : Type) (N : usize)
+Definition core_ops_index_IndexArrayInst (T Idx : Type) (N : usize)
(inst : core_ops_index_Index (slice T) Idx) :
core_ops_index_Index (array T N) Idx := {|
core_ops_index_Index_Output := inst.(core_ops_index_Index_Output);
@@ -728,10 +728,10 @@ Definition core_array_Array_coreopsindexIndexInst (T Idx : Type) (N : usize)
|}.
(* Trait implementation: [core::array::[T; N]] *)
-Definition core_array_Array_coreopsindexIndexMutInst (T Idx : Type) (N : usize)
+Definition core_ops_index_IndexMutArrayInst (T Idx : Type) (N : usize)
(inst : core_ops_index_IndexMut (slice T) Idx) :
core_ops_index_IndexMut (array T N) Idx := {|
- core_ops_index_IndexMut_indexInst := core_array_Array_coreopsindexIndexInst T Idx N inst.(core_ops_index_IndexMut_indexInst);
+ core_ops_index_IndexMut_indexInst := core_ops_index_IndexArrayInst T Idx N inst.(core_ops_index_IndexMut_indexInst);
core_ops_index_IndexMut_index_mut := core_array_Array_index_mut T Idx N inst;
core_ops_index_IndexMut_index_mut_back := core_array_Array_index_mut_back T Idx N inst;
|}.
@@ -765,13 +765,13 @@ Axiom core_slice_index_usize_index_mut_back :
forall (T : Type), usize -> slice T -> T -> result (slice T).
(* Trait implementation: [core::slice::index::private_slice_index::usize] *)
-Definition core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst
+Definition core_slice_index_private_slice_index_SealedUsizeInst
: core_slice_index_private_slice_index_Sealed usize := tt.
(* Trait implementation: [core::slice::index::usize] *)
-Definition core_slice_index_usize_coresliceindexSliceIndexInst (T : Type) :
+Definition core_slice_index_SliceIndexUsizeSliceTInst (T : Type) :
core_slice_index_SliceIndex usize (slice T) := {|
- core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst;
+ core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_SealedUsizeInst;
core_slice_index_SliceIndex_Output := T;
core_slice_index_SliceIndex_get := core_slice_index_usize_get T;
core_slice_index_SliceIndex_get_mut := core_slice_index_usize_get_mut T;
@@ -815,8 +815,16 @@ Definition alloc_vec_Vec_coreopsindexIndexMutInst (T Idx : Type)
(*** Theorems *)
+Axiom alloc_vec_Vec_index_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
+ alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i =
+ alloc_vec_Vec_index_usize v i.
+
+Axiom alloc_vec_Vec_index_mut_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
+ alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i =
+ alloc_vec_Vec_index_usize v i.
+
Axiom alloc_vec_Vec_index_mut_back_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
- alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x =
+ alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x =
alloc_vec_Vec_update_usize v i x.
End Primitives.
diff --git a/tests/coq/hashmap/Hashmap_Funs.v b/tests/coq/hashmap/Hashmap_Funs.v
index 3ca52a9f..fbed86b5 100644
--- a/tests/coq/hashmap/Hashmap_Funs.v
+++ b/tests/coq/hashmap/Hashmap_Funs.v
@@ -14,7 +14,7 @@ Module Hashmap_Funs.
Definition hash_key (k : usize) : result usize :=
Return k.
-(** [hashmap::HashMap::{0}::allocate_slots]: loop 0: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::allocate_slots]: loop 0: forward function *)
Fixpoint hashMap_allocate_slots_loop
(T : Type) (n : nat) (slots : alloc_vec_Vec (List_t T)) (n0 : usize) :
result (alloc_vec_Vec (List_t T))
@@ -31,7 +31,7 @@ Fixpoint hashMap_allocate_slots_loop
end
.
-(** [hashmap::HashMap::{0}::allocate_slots]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::allocate_slots]: forward function *)
Definition hashMap_allocate_slots
(T : Type) (n : nat) (slots : alloc_vec_Vec (List_t T)) (n0 : usize) :
result (alloc_vec_Vec (List_t T))
@@ -39,7 +39,7 @@ Definition hashMap_allocate_slots
hashMap_allocate_slots_loop T n slots n0
.
-(** [hashmap::HashMap::{0}::new_with_capacity]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::new_with_capacity]: forward function *)
Definition hashMap_new_with_capacity
(T : Type) (n : nat) (capacity : usize) (max_load_dividend : usize)
(max_load_divisor : usize) :
@@ -58,12 +58,12 @@ Definition hashMap_new_with_capacity
|}
.
-(** [hashmap::HashMap::{0}::new]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::new]: forward function *)
Definition hashMap_new (T : Type) (n : nat) : result (HashMap_t T) :=
hashMap_new_with_capacity T n 32%usize 4%usize 5%usize
.
-(** [hashmap::HashMap::{0}::clear]: loop 0: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::clear]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Fixpoint hashMap_clear_loop
(T : Type) (n : nat) (slots : alloc_vec_Vec (List_t T)) (i : usize) :
@@ -78,14 +78,14 @@ Fixpoint hashMap_clear_loop
i1 <- usize_add i 1%usize;
slots0 <-
alloc_vec_Vec_index_mut_back (List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t T))
- slots i List_Nil;
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t T)) slots i
+ List_Nil;
hashMap_clear_loop T n0 slots0 i1)
else Return slots
end
.
-(** [hashmap::HashMap::{0}::clear]: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::clear]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Definition hashMap_clear
(T : Type) (n : nat) (self : HashMap_t T) : result (HashMap_t T) :=
@@ -99,12 +99,12 @@ Definition hashMap_clear
|}
.
-(** [hashmap::HashMap::{0}::len]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::len]: forward function *)
Definition hashMap_len (T : Type) (self : HashMap_t T) : result usize :=
Return self.(hashMap_num_entries)
.
-(** [hashmap::HashMap::{0}::insert_in_list]: loop 0: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::insert_in_list]: loop 0: forward function *)
Fixpoint hashMap_insert_in_list_loop
(T : Type) (n : nat) (key : usize) (value : T) (ls : List_t T) :
result bool
@@ -122,7 +122,7 @@ Fixpoint hashMap_insert_in_list_loop
end
.
-(** [hashmap::HashMap::{0}::insert_in_list]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::insert_in_list]: forward function *)
Definition hashMap_insert_in_list
(T : Type) (n : nat) (key : usize) (value : T) (ls : List_t T) :
result bool
@@ -130,7 +130,7 @@ Definition hashMap_insert_in_list
hashMap_insert_in_list_loop T n key value ls
.
-(** [hashmap::HashMap::{0}::insert_in_list]: loop 0: backward function 0 *)
+(** [hashmap::{hashmap::HashMap<T>}::insert_in_list]: loop 0: backward function 0 *)
Fixpoint hashMap_insert_in_list_loop_back
(T : Type) (n : nat) (key : usize) (value : T) (ls : List_t T) :
result (List_t T)
@@ -150,7 +150,7 @@ Fixpoint hashMap_insert_in_list_loop_back
end
.
-(** [hashmap::HashMap::{0}::insert_in_list]: backward function 0 *)
+(** [hashmap::{hashmap::HashMap<T>}::insert_in_list]: backward function 0 *)
Definition hashMap_insert_in_list_back
(T : Type) (n : nat) (key : usize) (value : T) (ls : List_t T) :
result (List_t T)
@@ -158,7 +158,7 @@ Definition hashMap_insert_in_list_back
hashMap_insert_in_list_loop_back T n key value ls
.
-(** [hashmap::HashMap::{0}::insert_no_resize]: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::insert_no_resize]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Definition hashMap_insert_no_resize
(T : Type) (n : nat) (self : HashMap_t T) (key : usize) (value : T) :
@@ -169,7 +169,7 @@ Definition hashMap_insert_no_resize
hash_mod <- usize_rem hash i;
l <-
alloc_vec_Vec_index_mut (List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t T))
self.(hashMap_slots) hash_mod;
inserted <- hashMap_insert_in_list T n key value l;
if inserted
@@ -178,7 +178,7 @@ Definition hashMap_insert_no_resize
l0 <- hashMap_insert_in_list_back T n key value l;
v <-
alloc_vec_Vec_index_mut_back (List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t T))
self.(hashMap_slots) hash_mod l0;
Return
{|
@@ -191,7 +191,7 @@ Definition hashMap_insert_no_resize
l0 <- hashMap_insert_in_list_back T n key value l;
v <-
alloc_vec_Vec_index_mut_back (List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t T))
self.(hashMap_slots) hash_mod l0;
Return
{|
@@ -202,7 +202,7 @@ Definition hashMap_insert_no_resize
|})
.
-(** [hashmap::HashMap::{0}::move_elements_from_list]: loop 0: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::move_elements_from_list]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Fixpoint hashMap_move_elements_from_list_loop
(T : Type) (n : nat) (ntable : HashMap_t T) (ls : List_t T) :
@@ -220,7 +220,7 @@ Fixpoint hashMap_move_elements_from_list_loop
end
.
-(** [hashmap::HashMap::{0}::move_elements_from_list]: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::move_elements_from_list]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Definition hashMap_move_elements_from_list
(T : Type) (n : nat) (ntable : HashMap_t T) (ls : List_t T) :
@@ -229,7 +229,7 @@ Definition hashMap_move_elements_from_list
hashMap_move_elements_from_list_loop T n ntable ls
.
-(** [hashmap::HashMap::{0}::move_elements]: loop 0: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::move_elements]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Fixpoint hashMap_move_elements_loop
(T : Type) (n : nat) (ntable : HashMap_t T)
@@ -244,22 +244,20 @@ Fixpoint hashMap_move_elements_loop
then (
l <-
alloc_vec_Vec_index_mut (List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t T))
- slots i;
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t T)) slots i;
let ls := core_mem_replace (List_t T) l List_Nil in
ntable0 <- hashMap_move_elements_from_list T n0 ntable ls;
i1 <- usize_add i 1%usize;
let l0 := core_mem_replace_back (List_t T) l List_Nil in
slots0 <-
alloc_vec_Vec_index_mut_back (List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t T))
- slots i l0;
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t T)) slots i l0;
hashMap_move_elements_loop T n0 ntable0 slots0 i1)
else Return (ntable, slots)
end
.
-(** [hashmap::HashMap::{0}::move_elements]: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::move_elements]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Definition hashMap_move_elements
(T : Type) (n : nat) (ntable : HashMap_t T)
@@ -269,7 +267,7 @@ Definition hashMap_move_elements
hashMap_move_elements_loop T n ntable slots i
.
-(** [hashmap::HashMap::{0}::try_resize]: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::try_resize]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Definition hashMap_try_resize
(T : Type) (n : nat) (self : HashMap_t T) : result (HashMap_t T) :=
@@ -301,7 +299,7 @@ Definition hashMap_try_resize
|}
.
-(** [hashmap::HashMap::{0}::insert]: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::insert]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Definition hashMap_insert
(T : Type) (n : nat) (self : HashMap_t T) (key : usize) (value : T) :
@@ -314,7 +312,7 @@ Definition hashMap_insert
else Return self0
.
-(** [hashmap::HashMap::{0}::contains_key_in_list]: loop 0: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::contains_key_in_list]: loop 0: forward function *)
Fixpoint hashMap_contains_key_in_list_loop
(T : Type) (n : nat) (key : usize) (ls : List_t T) : result bool :=
match n with
@@ -330,13 +328,13 @@ Fixpoint hashMap_contains_key_in_list_loop
end
.
-(** [hashmap::HashMap::{0}::contains_key_in_list]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::contains_key_in_list]: forward function *)
Definition hashMap_contains_key_in_list
(T : Type) (n : nat) (key : usize) (ls : List_t T) : result bool :=
hashMap_contains_key_in_list_loop T n key ls
.
-(** [hashmap::HashMap::{0}::contains_key]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::contains_key]: forward function *)
Definition hashMap_contains_key
(T : Type) (n : nat) (self : HashMap_t T) (key : usize) : result bool :=
hash <- hash_key key;
@@ -344,12 +342,12 @@ Definition hashMap_contains_key
hash_mod <- usize_rem hash i;
l <-
alloc_vec_Vec_index (List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t T))
self.(hashMap_slots) hash_mod;
hashMap_contains_key_in_list T n key l
.
-(** [hashmap::HashMap::{0}::get_in_list]: loop 0: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::get_in_list]: loop 0: forward function *)
Fixpoint hashMap_get_in_list_loop
(T : Type) (n : nat) (key : usize) (ls : List_t T) : result T :=
match n with
@@ -365,13 +363,13 @@ Fixpoint hashMap_get_in_list_loop
end
.
-(** [hashmap::HashMap::{0}::get_in_list]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::get_in_list]: forward function *)
Definition hashMap_get_in_list
(T : Type) (n : nat) (key : usize) (ls : List_t T) : result T :=
hashMap_get_in_list_loop T n key ls
.
-(** [hashmap::HashMap::{0}::get]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::get]: forward function *)
Definition hashMap_get
(T : Type) (n : nat) (self : HashMap_t T) (key : usize) : result T :=
hash <- hash_key key;
@@ -379,12 +377,12 @@ Definition hashMap_get
hash_mod <- usize_rem hash i;
l <-
alloc_vec_Vec_index (List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t T))
self.(hashMap_slots) hash_mod;
hashMap_get_in_list T n key l
.
-(** [hashmap::HashMap::{0}::get_mut_in_list]: loop 0: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::get_mut_in_list]: loop 0: forward function *)
Fixpoint hashMap_get_mut_in_list_loop
(T : Type) (n : nat) (ls : List_t T) (key : usize) : result T :=
match n with
@@ -400,13 +398,13 @@ Fixpoint hashMap_get_mut_in_list_loop
end
.
-(** [hashmap::HashMap::{0}::get_mut_in_list]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::get_mut_in_list]: forward function *)
Definition hashMap_get_mut_in_list
(T : Type) (n : nat) (ls : List_t T) (key : usize) : result T :=
hashMap_get_mut_in_list_loop T n ls key
.
-(** [hashmap::HashMap::{0}::get_mut_in_list]: loop 0: backward function 0 *)
+(** [hashmap::{hashmap::HashMap<T>}::get_mut_in_list]: loop 0: backward function 0 *)
Fixpoint hashMap_get_mut_in_list_loop_back
(T : Type) (n : nat) (ls : List_t T) (key : usize) (ret : T) :
result (List_t T)
@@ -426,7 +424,7 @@ Fixpoint hashMap_get_mut_in_list_loop_back
end
.
-(** [hashmap::HashMap::{0}::get_mut_in_list]: backward function 0 *)
+(** [hashmap::{hashmap::HashMap<T>}::get_mut_in_list]: backward function 0 *)
Definition hashMap_get_mut_in_list_back
(T : Type) (n : nat) (ls : List_t T) (key : usize) (ret : T) :
result (List_t T)
@@ -434,7 +432,7 @@ Definition hashMap_get_mut_in_list_back
hashMap_get_mut_in_list_loop_back T n ls key ret
.
-(** [hashmap::HashMap::{0}::get_mut]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::get_mut]: forward function *)
Definition hashMap_get_mut
(T : Type) (n : nat) (self : HashMap_t T) (key : usize) : result T :=
hash <- hash_key key;
@@ -442,12 +440,12 @@ Definition hashMap_get_mut
hash_mod <- usize_rem hash i;
l <-
alloc_vec_Vec_index_mut (List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t T))
self.(hashMap_slots) hash_mod;
hashMap_get_mut_in_list T n l key
.
-(** [hashmap::HashMap::{0}::get_mut]: backward function 0 *)
+(** [hashmap::{hashmap::HashMap<T>}::get_mut]: backward function 0 *)
Definition hashMap_get_mut_back
(T : Type) (n : nat) (self : HashMap_t T) (key : usize) (ret : T) :
result (HashMap_t T)
@@ -457,12 +455,12 @@ Definition hashMap_get_mut_back
hash_mod <- usize_rem hash i;
l <-
alloc_vec_Vec_index_mut (List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t T))
self.(hashMap_slots) hash_mod;
l0 <- hashMap_get_mut_in_list_back T n l key ret;
v <-
alloc_vec_Vec_index_mut_back (List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t T))
self.(hashMap_slots) hash_mod l0;
Return
{|
@@ -473,7 +471,7 @@ Definition hashMap_get_mut_back
|}
.
-(** [hashmap::HashMap::{0}::remove_from_list]: loop 0: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::remove_from_list]: loop 0: forward function *)
Fixpoint hashMap_remove_from_list_loop
(T : Type) (n : nat) (key : usize) (ls : List_t T) : result (option T) :=
match n with
@@ -495,13 +493,13 @@ Fixpoint hashMap_remove_from_list_loop
end
.
-(** [hashmap::HashMap::{0}::remove_from_list]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::remove_from_list]: forward function *)
Definition hashMap_remove_from_list
(T : Type) (n : nat) (key : usize) (ls : List_t T) : result (option T) :=
hashMap_remove_from_list_loop T n key ls
.
-(** [hashmap::HashMap::{0}::remove_from_list]: loop 0: backward function 1 *)
+(** [hashmap::{hashmap::HashMap<T>}::remove_from_list]: loop 0: backward function 1 *)
Fixpoint hashMap_remove_from_list_loop_back
(T : Type) (n : nat) (key : usize) (ls : List_t T) : result (List_t T) :=
match n with
@@ -525,13 +523,13 @@ Fixpoint hashMap_remove_from_list_loop_back
end
.
-(** [hashmap::HashMap::{0}::remove_from_list]: backward function 1 *)
+(** [hashmap::{hashmap::HashMap<T>}::remove_from_list]: backward function 1 *)
Definition hashMap_remove_from_list_back
(T : Type) (n : nat) (key : usize) (ls : List_t T) : result (List_t T) :=
hashMap_remove_from_list_loop_back T n key ls
.
-(** [hashmap::HashMap::{0}::remove]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::remove]: forward function *)
Definition hashMap_remove
(T : Type) (n : nat) (self : HashMap_t T) (key : usize) :
result (option T)
@@ -541,7 +539,7 @@ Definition hashMap_remove
hash_mod <- usize_rem hash i;
l <-
alloc_vec_Vec_index_mut (List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t T))
self.(hashMap_slots) hash_mod;
x <- hashMap_remove_from_list T n key l;
match x with
@@ -551,7 +549,7 @@ Definition hashMap_remove
end
.
-(** [hashmap::HashMap::{0}::remove]: backward function 0 *)
+(** [hashmap::{hashmap::HashMap<T>}::remove]: backward function 0 *)
Definition hashMap_remove_back
(T : Type) (n : nat) (self : HashMap_t T) (key : usize) :
result (HashMap_t T)
@@ -561,7 +559,7 @@ Definition hashMap_remove_back
hash_mod <- usize_rem hash i;
l <-
alloc_vec_Vec_index_mut (List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t T))
self.(hashMap_slots) hash_mod;
x <- hashMap_remove_from_list T n key l;
match x with
@@ -569,7 +567,7 @@ Definition hashMap_remove_back
l0 <- hashMap_remove_from_list_back T n key l;
v <-
alloc_vec_Vec_index_mut_back (List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t T))
self.(hashMap_slots) hash_mod l0;
Return
{|
@@ -583,7 +581,7 @@ Definition hashMap_remove_back
l0 <- hashMap_remove_from_list_back T n key l;
v <-
alloc_vec_Vec_index_mut_back (List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t T))
self.(hashMap_slots) hash_mod l0;
Return
{|
diff --git a/tests/coq/hashmap/Primitives.v b/tests/coq/hashmap/Primitives.v
index 85e38f01..83f860b6 100644
--- a/tests/coq/hashmap/Primitives.v
+++ b/tests/coq/hashmap/Primitives.v
@@ -467,14 +467,14 @@ Definition alloc_boxed_Box_deref_mut (T : Type) (x : T) : result T := Return x.
Definition alloc_boxed_Box_deref_mut_back (T : Type) (_ : T) (x : T) : result T := Return x.
(* Trait instance *)
-Definition alloc_boxed_Box_coreOpsDerefInst (Self : Type) : core_ops_deref_Deref Self := {|
+Definition alloc_boxed_Box_coreopsDerefInst (Self : Type) : core_ops_deref_Deref Self := {|
core_ops_deref_Deref_target := Self;
core_ops_deref_Deref_deref := alloc_boxed_Box_deref Self;
|}.
(* Trait instance *)
-Definition alloc_boxed_Box_coreOpsDerefMutInst (Self : Type) : core_ops_deref_DerefMut Self := {|
- core_ops_deref_DerefMut_derefInst := alloc_boxed_Box_coreOpsDerefInst Self;
+Definition alloc_boxed_Box_coreopsDerefMutInst (Self : Type) : core_ops_deref_DerefMut Self := {|
+ core_ops_deref_DerefMut_derefInst := alloc_boxed_Box_coreopsDerefInst Self;
core_ops_deref_DerefMut_deref_mut := alloc_boxed_Box_deref_mut Self;
core_ops_deref_DerefMut_deref_mut_back := alloc_boxed_Box_deref_mut_back Self;
|}.
@@ -576,7 +576,7 @@ Definition alloc_vec_Vec_insert (T: Type) (v: alloc_vec_Vec T) (i: usize) (x: T)
else Fail_ Failure).
(* Helper *)
-Axiom alloc_vec_Vec_index_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize) (x : T), result T.
+Axiom alloc_vec_Vec_index_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize), result T.
(* Helper *)
Axiom alloc_vec_Vec_update_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize) (x : T), result (alloc_vec_Vec T).
@@ -620,18 +620,18 @@ Definition core_slice_index_Slice_index
end.
(* [core::slice::index::Range:::get]: forward function *)
-Axiom core_slice_index_Range_get : forall (T : Type) (i : core_ops_range_Range usize) (s : slice T), result (option (slice T)).
+Axiom core_slice_index_RangeUsize_get : forall (T : Type) (i : core_ops_range_Range usize) (s : slice T), result (option (slice T)).
(* [core::slice::index::Range::get_mut]: forward function *)
-Axiom core_slice_index_Range_get_mut :
+Axiom core_slice_index_RangeUsize_get_mut :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (option (slice T)).
(* [core::slice::index::Range::get_mut]: backward function 0 *)
-Axiom core_slice_index_Range_get_mut_back :
+Axiom core_slice_index_RangeUsize_get_mut_back :
forall (T : Type), core_ops_range_Range usize -> slice T -> option (slice T) -> result (slice T).
(* [core::slice::index::Range::get_unchecked]: forward function *)
-Definition core_slice_index_Range_get_unchecked
+Definition core_slice_index_RangeUsize_get_unchecked
(T : Type) :
core_ops_range_Range usize -> const_raw_ptr (slice T) -> result (const_raw_ptr (slice T)) :=
(* Don't know what the model should be - for now we always fail to make
@@ -639,7 +639,7 @@ Definition core_slice_index_Range_get_unchecked
fun _ _ => Fail_ Failure.
(* [core::slice::index::Range::get_unchecked_mut]: forward function *)
-Definition core_slice_index_Range_get_unchecked_mut
+Definition core_slice_index_RangeUsize_get_unchecked_mut
(T : Type) :
core_ops_range_Range usize -> mut_raw_ptr (slice T) -> result (mut_raw_ptr (slice T)) :=
(* Don't know what the model should be - for now we always fail to make
@@ -647,15 +647,15 @@ Definition core_slice_index_Range_get_unchecked_mut
fun _ _ => Fail_ Failure.
(* [core::slice::index::Range::index]: forward function *)
-Axiom core_slice_index_Range_index :
+Axiom core_slice_index_RangeUsize_index :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (slice T).
(* [core::slice::index::Range::index_mut]: forward function *)
-Axiom core_slice_index_Range_index_mut :
+Axiom core_slice_index_RangeUsize_index_mut :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (slice T).
(* [core::slice::index::Range::index_mut]: backward function 0 *)
-Axiom core_slice_index_Range_index_mut_back :
+Axiom core_slice_index_RangeUsize_index_mut_back :
forall (T : Type), core_ops_range_Range usize -> slice T -> slice T -> result (slice T).
(* [core::slice::index::[T]::index_mut]: forward function *)
@@ -683,44 +683,44 @@ Axiom core_array_Array_index_mut_back :
forall (T Idx : Type) (N : usize) (inst : core_ops_index_IndexMut (slice T) Idx)
(a : array T N) (i : Idx) (x : inst.(core_ops_index_IndexMut_indexInst).(core_ops_index_Index_Output)), result (array T N).
-(* Trait implementation: [core::slice::index::[T]] *)
-Definition core_slice_index_Slice_coreopsindexIndexInst (T Idx : Type)
- (inst : core_slice_index_SliceIndex Idx (slice T)) :
- core_ops_index_Index (slice T) Idx := {|
- core_ops_index_Index_Output := inst.(core_slice_index_SliceIndex_Output);
- core_ops_index_Index_index := core_slice_index_Slice_index T Idx inst;
-|}.
-
(* Trait implementation: [core::slice::index::private_slice_index::Range] *)
-Definition core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst
+Definition core_slice_index_private_slice_index_SealedRangeUsizeInst
: core_slice_index_private_slice_index_Sealed (core_ops_range_Range usize) := tt.
(* Trait implementation: [core::slice::index::Range] *)
-Definition core_slice_index_Range_coresliceindexSliceIndexInst (T : Type) :
+Definition core_slice_index_SliceIndexRangeUsizeSliceTInst (T : Type) :
core_slice_index_SliceIndex (core_ops_range_Range usize) (slice T) := {|
- core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst;
+ core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_SealedRangeUsizeInst;
core_slice_index_SliceIndex_Output := slice T;
- core_slice_index_SliceIndex_get := core_slice_index_Range_get T;
- core_slice_index_SliceIndex_get_mut := core_slice_index_Range_get_mut T;
- core_slice_index_SliceIndex_get_mut_back := core_slice_index_Range_get_mut_back T;
- core_slice_index_SliceIndex_get_unchecked := core_slice_index_Range_get_unchecked T;
- core_slice_index_SliceIndex_get_unchecked_mut := core_slice_index_Range_get_unchecked_mut T;
- core_slice_index_SliceIndex_index := core_slice_index_Range_index T;
- core_slice_index_SliceIndex_index_mut := core_slice_index_Range_index_mut T;
- core_slice_index_SliceIndex_index_mut_back := core_slice_index_Range_index_mut_back T;
+ core_slice_index_SliceIndex_get := core_slice_index_RangeUsize_get T;
+ core_slice_index_SliceIndex_get_mut := core_slice_index_RangeUsize_get_mut T;
+ core_slice_index_SliceIndex_get_mut_back := core_slice_index_RangeUsize_get_mut_back T;
+ core_slice_index_SliceIndex_get_unchecked := core_slice_index_RangeUsize_get_unchecked T;
+ core_slice_index_SliceIndex_get_unchecked_mut := core_slice_index_RangeUsize_get_unchecked_mut T;
+ core_slice_index_SliceIndex_index := core_slice_index_RangeUsize_index T;
+ core_slice_index_SliceIndex_index_mut := core_slice_index_RangeUsize_index_mut T;
+ core_slice_index_SliceIndex_index_mut_back := core_slice_index_RangeUsize_index_mut_back T;
+|}.
+
+(* Trait implementation: [core::slice::index::[T]] *)
+Definition core_ops_index_IndexSliceTIInst (T Idx : Type)
+ (inst : core_slice_index_SliceIndex Idx (slice T)) :
+ core_ops_index_Index (slice T) Idx := {|
+ core_ops_index_Index_Output := inst.(core_slice_index_SliceIndex_Output);
+ core_ops_index_Index_index := core_slice_index_Slice_index T Idx inst;
|}.
(* Trait implementation: [core::slice::index::[T]] *)
-Definition core_slice_index_Slice_coreopsindexIndexMutInst (T Idx : Type)
+Definition core_ops_index_IndexMutSliceTIInst (T Idx : Type)
(inst : core_slice_index_SliceIndex Idx (slice T)) :
core_ops_index_IndexMut (slice T) Idx := {|
- core_ops_index_IndexMut_indexInst := core_slice_index_Slice_coreopsindexIndexInst T Idx inst;
+ core_ops_index_IndexMut_indexInst := core_ops_index_IndexSliceTIInst T Idx inst;
core_ops_index_IndexMut_index_mut := core_slice_index_Slice_index_mut T Idx inst;
core_ops_index_IndexMut_index_mut_back := core_slice_index_Slice_index_mut_back T Idx inst;
|}.
(* Trait implementation: [core::array::[T; N]] *)
-Definition core_array_Array_coreopsindexIndexInst (T Idx : Type) (N : usize)
+Definition core_ops_index_IndexArrayInst (T Idx : Type) (N : usize)
(inst : core_ops_index_Index (slice T) Idx) :
core_ops_index_Index (array T N) Idx := {|
core_ops_index_Index_Output := inst.(core_ops_index_Index_Output);
@@ -728,10 +728,10 @@ Definition core_array_Array_coreopsindexIndexInst (T Idx : Type) (N : usize)
|}.
(* Trait implementation: [core::array::[T; N]] *)
-Definition core_array_Array_coreopsindexIndexMutInst (T Idx : Type) (N : usize)
+Definition core_ops_index_IndexMutArrayInst (T Idx : Type) (N : usize)
(inst : core_ops_index_IndexMut (slice T) Idx) :
core_ops_index_IndexMut (array T N) Idx := {|
- core_ops_index_IndexMut_indexInst := core_array_Array_coreopsindexIndexInst T Idx N inst.(core_ops_index_IndexMut_indexInst);
+ core_ops_index_IndexMut_indexInst := core_ops_index_IndexArrayInst T Idx N inst.(core_ops_index_IndexMut_indexInst);
core_ops_index_IndexMut_index_mut := core_array_Array_index_mut T Idx N inst;
core_ops_index_IndexMut_index_mut_back := core_array_Array_index_mut_back T Idx N inst;
|}.
@@ -765,13 +765,13 @@ Axiom core_slice_index_usize_index_mut_back :
forall (T : Type), usize -> slice T -> T -> result (slice T).
(* Trait implementation: [core::slice::index::private_slice_index::usize] *)
-Definition core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst
+Definition core_slice_index_private_slice_index_SealedUsizeInst
: core_slice_index_private_slice_index_Sealed usize := tt.
(* Trait implementation: [core::slice::index::usize] *)
-Definition core_slice_index_usize_coresliceindexSliceIndexInst (T : Type) :
+Definition core_slice_index_SliceIndexUsizeSliceTInst (T : Type) :
core_slice_index_SliceIndex usize (slice T) := {|
- core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst;
+ core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_SealedUsizeInst;
core_slice_index_SliceIndex_Output := T;
core_slice_index_SliceIndex_get := core_slice_index_usize_get T;
core_slice_index_SliceIndex_get_mut := core_slice_index_usize_get_mut T;
@@ -815,8 +815,16 @@ Definition alloc_vec_Vec_coreopsindexIndexMutInst (T Idx : Type)
(*** Theorems *)
+Axiom alloc_vec_Vec_index_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
+ alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i =
+ alloc_vec_Vec_index_usize v i.
+
+Axiom alloc_vec_Vec_index_mut_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
+ alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i =
+ alloc_vec_Vec_index_usize v i.
+
Axiom alloc_vec_Vec_index_mut_back_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
- alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x =
+ alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x =
alloc_vec_Vec_update_usize v i x.
End Primitives.
diff --git a/tests/coq/hashmap_on_disk/HashmapMain_Funs.v b/tests/coq/hashmap_on_disk/HashmapMain_Funs.v
index eac78186..6f3848e6 100644
--- a/tests/coq/hashmap_on_disk/HashmapMain_Funs.v
+++ b/tests/coq/hashmap_on_disk/HashmapMain_Funs.v
@@ -16,7 +16,7 @@ Module HashmapMain_Funs.
Definition hashmap_hash_key (k : usize) : result usize :=
Return k.
-(** [hashmap_main::hashmap::HashMap::{0}::allocate_slots]: loop 0: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::allocate_slots]: loop 0: forward function *)
Fixpoint hashmap_HashMap_allocate_slots_loop
(T : Type) (n : nat) (slots : alloc_vec_Vec (hashmap_List_t T)) (n0 : usize)
:
@@ -34,7 +34,7 @@ Fixpoint hashmap_HashMap_allocate_slots_loop
end
.
-(** [hashmap_main::hashmap::HashMap::{0}::allocate_slots]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::allocate_slots]: forward function *)
Definition hashmap_HashMap_allocate_slots
(T : Type) (n : nat) (slots : alloc_vec_Vec (hashmap_List_t T)) (n0 : usize)
:
@@ -43,7 +43,7 @@ Definition hashmap_HashMap_allocate_slots
hashmap_HashMap_allocate_slots_loop T n slots n0
.
-(** [hashmap_main::hashmap::HashMap::{0}::new_with_capacity]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::new_with_capacity]: forward function *)
Definition hashmap_HashMap_new_with_capacity
(T : Type) (n : nat) (capacity : usize) (max_load_dividend : usize)
(max_load_divisor : usize) :
@@ -62,13 +62,13 @@ Definition hashmap_HashMap_new_with_capacity
|}
.
-(** [hashmap_main::hashmap::HashMap::{0}::new]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::new]: forward function *)
Definition hashmap_HashMap_new
(T : Type) (n : nat) : result (hashmap_HashMap_t T) :=
hashmap_HashMap_new_with_capacity T n 32%usize 4%usize 5%usize
.
-(** [hashmap_main::hashmap::HashMap::{0}::clear]: loop 0: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::clear]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Fixpoint hashmap_HashMap_clear_loop
(T : Type) (n : nat) (slots : alloc_vec_Vec (hashmap_List_t T)) (i : usize) :
@@ -83,14 +83,14 @@ Fixpoint hashmap_HashMap_clear_loop
i1 <- usize_add i 1%usize;
slots0 <-
alloc_vec_Vec_index_mut_back (hashmap_List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t
- T)) slots i Hashmap_List_Nil;
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t T)) slots
+ i Hashmap_List_Nil;
hashmap_HashMap_clear_loop T n0 slots0 i1)
else Return slots
end
.
-(** [hashmap_main::hashmap::HashMap::{0}::clear]: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::clear]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Definition hashmap_HashMap_clear
(T : Type) (n : nat) (self : hashmap_HashMap_t T) :
@@ -106,13 +106,13 @@ Definition hashmap_HashMap_clear
|}
.
-(** [hashmap_main::hashmap::HashMap::{0}::len]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::len]: forward function *)
Definition hashmap_HashMap_len
(T : Type) (self : hashmap_HashMap_t T) : result usize :=
Return self.(hashmap_HashMap_num_entries)
.
-(** [hashmap_main::hashmap::HashMap::{0}::insert_in_list]: loop 0: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert_in_list]: loop 0: forward function *)
Fixpoint hashmap_HashMap_insert_in_list_loop
(T : Type) (n : nat) (key : usize) (value : T) (ls : hashmap_List_t T) :
result bool
@@ -130,7 +130,7 @@ Fixpoint hashmap_HashMap_insert_in_list_loop
end
.
-(** [hashmap_main::hashmap::HashMap::{0}::insert_in_list]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert_in_list]: forward function *)
Definition hashmap_HashMap_insert_in_list
(T : Type) (n : nat) (key : usize) (value : T) (ls : hashmap_List_t T) :
result bool
@@ -138,7 +138,7 @@ Definition hashmap_HashMap_insert_in_list
hashmap_HashMap_insert_in_list_loop T n key value ls
.
-(** [hashmap_main::hashmap::HashMap::{0}::insert_in_list]: loop 0: backward function 0 *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert_in_list]: loop 0: backward function 0 *)
Fixpoint hashmap_HashMap_insert_in_list_loop_back
(T : Type) (n : nat) (key : usize) (value : T) (ls : hashmap_List_t T) :
result (hashmap_List_t T)
@@ -159,7 +159,7 @@ Fixpoint hashmap_HashMap_insert_in_list_loop_back
end
.
-(** [hashmap_main::hashmap::HashMap::{0}::insert_in_list]: backward function 0 *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert_in_list]: backward function 0 *)
Definition hashmap_HashMap_insert_in_list_back
(T : Type) (n : nat) (key : usize) (value : T) (ls : hashmap_List_t T) :
result (hashmap_List_t T)
@@ -167,7 +167,7 @@ Definition hashmap_HashMap_insert_in_list_back
hashmap_HashMap_insert_in_list_loop_back T n key value ls
.
-(** [hashmap_main::hashmap::HashMap::{0}::insert_no_resize]: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert_no_resize]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Definition hashmap_HashMap_insert_no_resize
(T : Type) (n : nat) (self : hashmap_HashMap_t T) (key : usize) (value : T) :
@@ -178,7 +178,7 @@ Definition hashmap_HashMap_insert_no_resize
hash_mod <- usize_rem hash i;
l <-
alloc_vec_Vec_index_mut (hashmap_List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t T))
self.(hashmap_HashMap_slots) hash_mod;
inserted <- hashmap_HashMap_insert_in_list T n key value l;
if inserted
@@ -187,8 +187,8 @@ Definition hashmap_HashMap_insert_no_resize
l0 <- hashmap_HashMap_insert_in_list_back T n key value l;
v <-
alloc_vec_Vec_index_mut_back (hashmap_List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t
- T)) self.(hashmap_HashMap_slots) hash_mod l0;
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t T))
+ self.(hashmap_HashMap_slots) hash_mod l0;
Return
{|
hashmap_HashMap_num_entries := i0;
@@ -201,8 +201,8 @@ Definition hashmap_HashMap_insert_no_resize
l0 <- hashmap_HashMap_insert_in_list_back T n key value l;
v <-
alloc_vec_Vec_index_mut_back (hashmap_List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t
- T)) self.(hashmap_HashMap_slots) hash_mod l0;
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t T))
+ self.(hashmap_HashMap_slots) hash_mod l0;
Return
{|
hashmap_HashMap_num_entries := self.(hashmap_HashMap_num_entries);
@@ -213,7 +213,7 @@ Definition hashmap_HashMap_insert_no_resize
|})
.
-(** [hashmap_main::hashmap::HashMap::{0}::move_elements_from_list]: loop 0: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::move_elements_from_list]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Fixpoint hashmap_HashMap_move_elements_from_list_loop
(T : Type) (n : nat) (ntable : hashmap_HashMap_t T) (ls : hashmap_List_t T) :
@@ -231,7 +231,7 @@ Fixpoint hashmap_HashMap_move_elements_from_list_loop
end
.
-(** [hashmap_main::hashmap::HashMap::{0}::move_elements_from_list]: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::move_elements_from_list]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Definition hashmap_HashMap_move_elements_from_list
(T : Type) (n : nat) (ntable : hashmap_HashMap_t T) (ls : hashmap_List_t T) :
@@ -240,7 +240,7 @@ Definition hashmap_HashMap_move_elements_from_list
hashmap_HashMap_move_elements_from_list_loop T n ntable ls
.
-(** [hashmap_main::hashmap::HashMap::{0}::move_elements]: loop 0: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::move_elements]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Fixpoint hashmap_HashMap_move_elements_loop
(T : Type) (n : nat) (ntable : hashmap_HashMap_t T)
@@ -255,22 +255,22 @@ Fixpoint hashmap_HashMap_move_elements_loop
then (
l <-
alloc_vec_Vec_index_mut (hashmap_List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t
- T)) slots i;
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t T)) slots
+ i;
let ls := core_mem_replace (hashmap_List_t T) l Hashmap_List_Nil in
ntable0 <- hashmap_HashMap_move_elements_from_list T n0 ntable ls;
i1 <- usize_add i 1%usize;
let l0 := core_mem_replace_back (hashmap_List_t T) l Hashmap_List_Nil in
slots0 <-
alloc_vec_Vec_index_mut_back (hashmap_List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t
- T)) slots i l0;
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t T)) slots
+ i l0;
hashmap_HashMap_move_elements_loop T n0 ntable0 slots0 i1)
else Return (ntable, slots)
end
.
-(** [hashmap_main::hashmap::HashMap::{0}::move_elements]: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::move_elements]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Definition hashmap_HashMap_move_elements
(T : Type) (n : nat) (ntable : hashmap_HashMap_t T)
@@ -280,7 +280,7 @@ Definition hashmap_HashMap_move_elements
hashmap_HashMap_move_elements_loop T n ntable slots i
.
-(** [hashmap_main::hashmap::HashMap::{0}::try_resize]: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::try_resize]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Definition hashmap_HashMap_try_resize
(T : Type) (n : nat) (self : hashmap_HashMap_t T) :
@@ -317,7 +317,7 @@ Definition hashmap_HashMap_try_resize
|}
.
-(** [hashmap_main::hashmap::HashMap::{0}::insert]: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
Definition hashmap_HashMap_insert
(T : Type) (n : nat) (self : hashmap_HashMap_t T) (key : usize) (value : T) :
@@ -330,7 +330,7 @@ Definition hashmap_HashMap_insert
else Return self0
.
-(** [hashmap_main::hashmap::HashMap::{0}::contains_key_in_list]: loop 0: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::contains_key_in_list]: loop 0: forward function *)
Fixpoint hashmap_HashMap_contains_key_in_list_loop
(T : Type) (n : nat) (key : usize) (ls : hashmap_List_t T) : result bool :=
match n with
@@ -346,13 +346,13 @@ Fixpoint hashmap_HashMap_contains_key_in_list_loop
end
.
-(** [hashmap_main::hashmap::HashMap::{0}::contains_key_in_list]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::contains_key_in_list]: forward function *)
Definition hashmap_HashMap_contains_key_in_list
(T : Type) (n : nat) (key : usize) (ls : hashmap_List_t T) : result bool :=
hashmap_HashMap_contains_key_in_list_loop T n key ls
.
-(** [hashmap_main::hashmap::HashMap::{0}::contains_key]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::contains_key]: forward function *)
Definition hashmap_HashMap_contains_key
(T : Type) (n : nat) (self : hashmap_HashMap_t T) (key : usize) :
result bool
@@ -362,12 +362,12 @@ Definition hashmap_HashMap_contains_key
hash_mod <- usize_rem hash i;
l <-
alloc_vec_Vec_index (hashmap_List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t T))
self.(hashmap_HashMap_slots) hash_mod;
hashmap_HashMap_contains_key_in_list T n key l
.
-(** [hashmap_main::hashmap::HashMap::{0}::get_in_list]: loop 0: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_in_list]: loop 0: forward function *)
Fixpoint hashmap_HashMap_get_in_list_loop
(T : Type) (n : nat) (key : usize) (ls : hashmap_List_t T) : result T :=
match n with
@@ -383,13 +383,13 @@ Fixpoint hashmap_HashMap_get_in_list_loop
end
.
-(** [hashmap_main::hashmap::HashMap::{0}::get_in_list]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_in_list]: forward function *)
Definition hashmap_HashMap_get_in_list
(T : Type) (n : nat) (key : usize) (ls : hashmap_List_t T) : result T :=
hashmap_HashMap_get_in_list_loop T n key ls
.
-(** [hashmap_main::hashmap::HashMap::{0}::get]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get]: forward function *)
Definition hashmap_HashMap_get
(T : Type) (n : nat) (self : hashmap_HashMap_t T) (key : usize) : result T :=
hash <- hashmap_hash_key key;
@@ -397,12 +397,12 @@ Definition hashmap_HashMap_get
hash_mod <- usize_rem hash i;
l <-
alloc_vec_Vec_index (hashmap_List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t T))
self.(hashmap_HashMap_slots) hash_mod;
hashmap_HashMap_get_in_list T n key l
.
-(** [hashmap_main::hashmap::HashMap::{0}::get_mut_in_list]: loop 0: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut_in_list]: loop 0: forward function *)
Fixpoint hashmap_HashMap_get_mut_in_list_loop
(T : Type) (n : nat) (ls : hashmap_List_t T) (key : usize) : result T :=
match n with
@@ -418,13 +418,13 @@ Fixpoint hashmap_HashMap_get_mut_in_list_loop
end
.
-(** [hashmap_main::hashmap::HashMap::{0}::get_mut_in_list]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut_in_list]: forward function *)
Definition hashmap_HashMap_get_mut_in_list
(T : Type) (n : nat) (ls : hashmap_List_t T) (key : usize) : result T :=
hashmap_HashMap_get_mut_in_list_loop T n ls key
.
-(** [hashmap_main::hashmap::HashMap::{0}::get_mut_in_list]: loop 0: backward function 0 *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut_in_list]: loop 0: backward function 0 *)
Fixpoint hashmap_HashMap_get_mut_in_list_loop_back
(T : Type) (n : nat) (ls : hashmap_List_t T) (key : usize) (ret : T) :
result (hashmap_List_t T)
@@ -444,7 +444,7 @@ Fixpoint hashmap_HashMap_get_mut_in_list_loop_back
end
.
-(** [hashmap_main::hashmap::HashMap::{0}::get_mut_in_list]: backward function 0 *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut_in_list]: backward function 0 *)
Definition hashmap_HashMap_get_mut_in_list_back
(T : Type) (n : nat) (ls : hashmap_List_t T) (key : usize) (ret : T) :
result (hashmap_List_t T)
@@ -452,7 +452,7 @@ Definition hashmap_HashMap_get_mut_in_list_back
hashmap_HashMap_get_mut_in_list_loop_back T n ls key ret
.
-(** [hashmap_main::hashmap::HashMap::{0}::get_mut]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut]: forward function *)
Definition hashmap_HashMap_get_mut
(T : Type) (n : nat) (self : hashmap_HashMap_t T) (key : usize) : result T :=
hash <- hashmap_hash_key key;
@@ -460,12 +460,12 @@ Definition hashmap_HashMap_get_mut
hash_mod <- usize_rem hash i;
l <-
alloc_vec_Vec_index_mut (hashmap_List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t T))
self.(hashmap_HashMap_slots) hash_mod;
hashmap_HashMap_get_mut_in_list T n l key
.
-(** [hashmap_main::hashmap::HashMap::{0}::get_mut]: backward function 0 *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut]: backward function 0 *)
Definition hashmap_HashMap_get_mut_back
(T : Type) (n : nat) (self : hashmap_HashMap_t T) (key : usize) (ret : T) :
result (hashmap_HashMap_t T)
@@ -475,12 +475,12 @@ Definition hashmap_HashMap_get_mut_back
hash_mod <- usize_rem hash i;
l <-
alloc_vec_Vec_index_mut (hashmap_List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t T))
self.(hashmap_HashMap_slots) hash_mod;
l0 <- hashmap_HashMap_get_mut_in_list_back T n l key ret;
v <-
alloc_vec_Vec_index_mut_back (hashmap_List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t T))
self.(hashmap_HashMap_slots) hash_mod l0;
Return
{|
@@ -491,7 +491,7 @@ Definition hashmap_HashMap_get_mut_back
|}
.
-(** [hashmap_main::hashmap::HashMap::{0}::remove_from_list]: loop 0: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove_from_list]: loop 0: forward function *)
Fixpoint hashmap_HashMap_remove_from_list_loop
(T : Type) (n : nat) (key : usize) (ls : hashmap_List_t T) :
result (option T)
@@ -516,7 +516,7 @@ Fixpoint hashmap_HashMap_remove_from_list_loop
end
.
-(** [hashmap_main::hashmap::HashMap::{0}::remove_from_list]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove_from_list]: forward function *)
Definition hashmap_HashMap_remove_from_list
(T : Type) (n : nat) (key : usize) (ls : hashmap_List_t T) :
result (option T)
@@ -524,7 +524,7 @@ Definition hashmap_HashMap_remove_from_list
hashmap_HashMap_remove_from_list_loop T n key ls
.
-(** [hashmap_main::hashmap::HashMap::{0}::remove_from_list]: loop 0: backward function 1 *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove_from_list]: loop 0: backward function 1 *)
Fixpoint hashmap_HashMap_remove_from_list_loop_back
(T : Type) (n : nat) (key : usize) (ls : hashmap_List_t T) :
result (hashmap_List_t T)
@@ -551,7 +551,7 @@ Fixpoint hashmap_HashMap_remove_from_list_loop_back
end
.
-(** [hashmap_main::hashmap::HashMap::{0}::remove_from_list]: backward function 1 *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove_from_list]: backward function 1 *)
Definition hashmap_HashMap_remove_from_list_back
(T : Type) (n : nat) (key : usize) (ls : hashmap_List_t T) :
result (hashmap_List_t T)
@@ -559,7 +559,7 @@ Definition hashmap_HashMap_remove_from_list_back
hashmap_HashMap_remove_from_list_loop_back T n key ls
.
-(** [hashmap_main::hashmap::HashMap::{0}::remove]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove]: forward function *)
Definition hashmap_HashMap_remove
(T : Type) (n : nat) (self : hashmap_HashMap_t T) (key : usize) :
result (option T)
@@ -569,7 +569,7 @@ Definition hashmap_HashMap_remove
hash_mod <- usize_rem hash i;
l <-
alloc_vec_Vec_index_mut (hashmap_List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t T))
self.(hashmap_HashMap_slots) hash_mod;
x <- hashmap_HashMap_remove_from_list T n key l;
match x with
@@ -579,7 +579,7 @@ Definition hashmap_HashMap_remove
end
.
-(** [hashmap_main::hashmap::HashMap::{0}::remove]: backward function 0 *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove]: backward function 0 *)
Definition hashmap_HashMap_remove_back
(T : Type) (n : nat) (self : hashmap_HashMap_t T) (key : usize) :
result (hashmap_HashMap_t T)
@@ -589,7 +589,7 @@ Definition hashmap_HashMap_remove_back
hash_mod <- usize_rem hash i;
l <-
alloc_vec_Vec_index_mut (hashmap_List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t T))
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t T))
self.(hashmap_HashMap_slots) hash_mod;
x <- hashmap_HashMap_remove_from_list T n key l;
match x with
@@ -597,8 +597,8 @@ Definition hashmap_HashMap_remove_back
l0 <- hashmap_HashMap_remove_from_list_back T n key l;
v <-
alloc_vec_Vec_index_mut_back (hashmap_List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t
- T)) self.(hashmap_HashMap_slots) hash_mod l0;
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t T))
+ self.(hashmap_HashMap_slots) hash_mod l0;
Return
{|
hashmap_HashMap_num_entries := self.(hashmap_HashMap_num_entries);
@@ -612,8 +612,8 @@ Definition hashmap_HashMap_remove_back
l0 <- hashmap_HashMap_remove_from_list_back T n key l;
v <-
alloc_vec_Vec_index_mut_back (hashmap_List_t T) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t
- T)) self.(hashmap_HashMap_slots) hash_mod l0;
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t T))
+ self.(hashmap_HashMap_slots) hash_mod l0;
Return
{|
hashmap_HashMap_num_entries := i0;
diff --git a/tests/coq/hashmap_on_disk/Primitives.v b/tests/coq/hashmap_on_disk/Primitives.v
index 85e38f01..83f860b6 100644
--- a/tests/coq/hashmap_on_disk/Primitives.v
+++ b/tests/coq/hashmap_on_disk/Primitives.v
@@ -467,14 +467,14 @@ Definition alloc_boxed_Box_deref_mut (T : Type) (x : T) : result T := Return x.
Definition alloc_boxed_Box_deref_mut_back (T : Type) (_ : T) (x : T) : result T := Return x.
(* Trait instance *)
-Definition alloc_boxed_Box_coreOpsDerefInst (Self : Type) : core_ops_deref_Deref Self := {|
+Definition alloc_boxed_Box_coreopsDerefInst (Self : Type) : core_ops_deref_Deref Self := {|
core_ops_deref_Deref_target := Self;
core_ops_deref_Deref_deref := alloc_boxed_Box_deref Self;
|}.
(* Trait instance *)
-Definition alloc_boxed_Box_coreOpsDerefMutInst (Self : Type) : core_ops_deref_DerefMut Self := {|
- core_ops_deref_DerefMut_derefInst := alloc_boxed_Box_coreOpsDerefInst Self;
+Definition alloc_boxed_Box_coreopsDerefMutInst (Self : Type) : core_ops_deref_DerefMut Self := {|
+ core_ops_deref_DerefMut_derefInst := alloc_boxed_Box_coreopsDerefInst Self;
core_ops_deref_DerefMut_deref_mut := alloc_boxed_Box_deref_mut Self;
core_ops_deref_DerefMut_deref_mut_back := alloc_boxed_Box_deref_mut_back Self;
|}.
@@ -576,7 +576,7 @@ Definition alloc_vec_Vec_insert (T: Type) (v: alloc_vec_Vec T) (i: usize) (x: T)
else Fail_ Failure).
(* Helper *)
-Axiom alloc_vec_Vec_index_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize) (x : T), result T.
+Axiom alloc_vec_Vec_index_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize), result T.
(* Helper *)
Axiom alloc_vec_Vec_update_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize) (x : T), result (alloc_vec_Vec T).
@@ -620,18 +620,18 @@ Definition core_slice_index_Slice_index
end.
(* [core::slice::index::Range:::get]: forward function *)
-Axiom core_slice_index_Range_get : forall (T : Type) (i : core_ops_range_Range usize) (s : slice T), result (option (slice T)).
+Axiom core_slice_index_RangeUsize_get : forall (T : Type) (i : core_ops_range_Range usize) (s : slice T), result (option (slice T)).
(* [core::slice::index::Range::get_mut]: forward function *)
-Axiom core_slice_index_Range_get_mut :
+Axiom core_slice_index_RangeUsize_get_mut :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (option (slice T)).
(* [core::slice::index::Range::get_mut]: backward function 0 *)
-Axiom core_slice_index_Range_get_mut_back :
+Axiom core_slice_index_RangeUsize_get_mut_back :
forall (T : Type), core_ops_range_Range usize -> slice T -> option (slice T) -> result (slice T).
(* [core::slice::index::Range::get_unchecked]: forward function *)
-Definition core_slice_index_Range_get_unchecked
+Definition core_slice_index_RangeUsize_get_unchecked
(T : Type) :
core_ops_range_Range usize -> const_raw_ptr (slice T) -> result (const_raw_ptr (slice T)) :=
(* Don't know what the model should be - for now we always fail to make
@@ -639,7 +639,7 @@ Definition core_slice_index_Range_get_unchecked
fun _ _ => Fail_ Failure.
(* [core::slice::index::Range::get_unchecked_mut]: forward function *)
-Definition core_slice_index_Range_get_unchecked_mut
+Definition core_slice_index_RangeUsize_get_unchecked_mut
(T : Type) :
core_ops_range_Range usize -> mut_raw_ptr (slice T) -> result (mut_raw_ptr (slice T)) :=
(* Don't know what the model should be - for now we always fail to make
@@ -647,15 +647,15 @@ Definition core_slice_index_Range_get_unchecked_mut
fun _ _ => Fail_ Failure.
(* [core::slice::index::Range::index]: forward function *)
-Axiom core_slice_index_Range_index :
+Axiom core_slice_index_RangeUsize_index :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (slice T).
(* [core::slice::index::Range::index_mut]: forward function *)
-Axiom core_slice_index_Range_index_mut :
+Axiom core_slice_index_RangeUsize_index_mut :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (slice T).
(* [core::slice::index::Range::index_mut]: backward function 0 *)
-Axiom core_slice_index_Range_index_mut_back :
+Axiom core_slice_index_RangeUsize_index_mut_back :
forall (T : Type), core_ops_range_Range usize -> slice T -> slice T -> result (slice T).
(* [core::slice::index::[T]::index_mut]: forward function *)
@@ -683,44 +683,44 @@ Axiom core_array_Array_index_mut_back :
forall (T Idx : Type) (N : usize) (inst : core_ops_index_IndexMut (slice T) Idx)
(a : array T N) (i : Idx) (x : inst.(core_ops_index_IndexMut_indexInst).(core_ops_index_Index_Output)), result (array T N).
-(* Trait implementation: [core::slice::index::[T]] *)
-Definition core_slice_index_Slice_coreopsindexIndexInst (T Idx : Type)
- (inst : core_slice_index_SliceIndex Idx (slice T)) :
- core_ops_index_Index (slice T) Idx := {|
- core_ops_index_Index_Output := inst.(core_slice_index_SliceIndex_Output);
- core_ops_index_Index_index := core_slice_index_Slice_index T Idx inst;
-|}.
-
(* Trait implementation: [core::slice::index::private_slice_index::Range] *)
-Definition core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst
+Definition core_slice_index_private_slice_index_SealedRangeUsizeInst
: core_slice_index_private_slice_index_Sealed (core_ops_range_Range usize) := tt.
(* Trait implementation: [core::slice::index::Range] *)
-Definition core_slice_index_Range_coresliceindexSliceIndexInst (T : Type) :
+Definition core_slice_index_SliceIndexRangeUsizeSliceTInst (T : Type) :
core_slice_index_SliceIndex (core_ops_range_Range usize) (slice T) := {|
- core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst;
+ core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_SealedRangeUsizeInst;
core_slice_index_SliceIndex_Output := slice T;
- core_slice_index_SliceIndex_get := core_slice_index_Range_get T;
- core_slice_index_SliceIndex_get_mut := core_slice_index_Range_get_mut T;
- core_slice_index_SliceIndex_get_mut_back := core_slice_index_Range_get_mut_back T;
- core_slice_index_SliceIndex_get_unchecked := core_slice_index_Range_get_unchecked T;
- core_slice_index_SliceIndex_get_unchecked_mut := core_slice_index_Range_get_unchecked_mut T;
- core_slice_index_SliceIndex_index := core_slice_index_Range_index T;
- core_slice_index_SliceIndex_index_mut := core_slice_index_Range_index_mut T;
- core_slice_index_SliceIndex_index_mut_back := core_slice_index_Range_index_mut_back T;
+ core_slice_index_SliceIndex_get := core_slice_index_RangeUsize_get T;
+ core_slice_index_SliceIndex_get_mut := core_slice_index_RangeUsize_get_mut T;
+ core_slice_index_SliceIndex_get_mut_back := core_slice_index_RangeUsize_get_mut_back T;
+ core_slice_index_SliceIndex_get_unchecked := core_slice_index_RangeUsize_get_unchecked T;
+ core_slice_index_SliceIndex_get_unchecked_mut := core_slice_index_RangeUsize_get_unchecked_mut T;
+ core_slice_index_SliceIndex_index := core_slice_index_RangeUsize_index T;
+ core_slice_index_SliceIndex_index_mut := core_slice_index_RangeUsize_index_mut T;
+ core_slice_index_SliceIndex_index_mut_back := core_slice_index_RangeUsize_index_mut_back T;
+|}.
+
+(* Trait implementation: [core::slice::index::[T]] *)
+Definition core_ops_index_IndexSliceTIInst (T Idx : Type)
+ (inst : core_slice_index_SliceIndex Idx (slice T)) :
+ core_ops_index_Index (slice T) Idx := {|
+ core_ops_index_Index_Output := inst.(core_slice_index_SliceIndex_Output);
+ core_ops_index_Index_index := core_slice_index_Slice_index T Idx inst;
|}.
(* Trait implementation: [core::slice::index::[T]] *)
-Definition core_slice_index_Slice_coreopsindexIndexMutInst (T Idx : Type)
+Definition core_ops_index_IndexMutSliceTIInst (T Idx : Type)
(inst : core_slice_index_SliceIndex Idx (slice T)) :
core_ops_index_IndexMut (slice T) Idx := {|
- core_ops_index_IndexMut_indexInst := core_slice_index_Slice_coreopsindexIndexInst T Idx inst;
+ core_ops_index_IndexMut_indexInst := core_ops_index_IndexSliceTIInst T Idx inst;
core_ops_index_IndexMut_index_mut := core_slice_index_Slice_index_mut T Idx inst;
core_ops_index_IndexMut_index_mut_back := core_slice_index_Slice_index_mut_back T Idx inst;
|}.
(* Trait implementation: [core::array::[T; N]] *)
-Definition core_array_Array_coreopsindexIndexInst (T Idx : Type) (N : usize)
+Definition core_ops_index_IndexArrayInst (T Idx : Type) (N : usize)
(inst : core_ops_index_Index (slice T) Idx) :
core_ops_index_Index (array T N) Idx := {|
core_ops_index_Index_Output := inst.(core_ops_index_Index_Output);
@@ -728,10 +728,10 @@ Definition core_array_Array_coreopsindexIndexInst (T Idx : Type) (N : usize)
|}.
(* Trait implementation: [core::array::[T; N]] *)
-Definition core_array_Array_coreopsindexIndexMutInst (T Idx : Type) (N : usize)
+Definition core_ops_index_IndexMutArrayInst (T Idx : Type) (N : usize)
(inst : core_ops_index_IndexMut (slice T) Idx) :
core_ops_index_IndexMut (array T N) Idx := {|
- core_ops_index_IndexMut_indexInst := core_array_Array_coreopsindexIndexInst T Idx N inst.(core_ops_index_IndexMut_indexInst);
+ core_ops_index_IndexMut_indexInst := core_ops_index_IndexArrayInst T Idx N inst.(core_ops_index_IndexMut_indexInst);
core_ops_index_IndexMut_index_mut := core_array_Array_index_mut T Idx N inst;
core_ops_index_IndexMut_index_mut_back := core_array_Array_index_mut_back T Idx N inst;
|}.
@@ -765,13 +765,13 @@ Axiom core_slice_index_usize_index_mut_back :
forall (T : Type), usize -> slice T -> T -> result (slice T).
(* Trait implementation: [core::slice::index::private_slice_index::usize] *)
-Definition core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst
+Definition core_slice_index_private_slice_index_SealedUsizeInst
: core_slice_index_private_slice_index_Sealed usize := tt.
(* Trait implementation: [core::slice::index::usize] *)
-Definition core_slice_index_usize_coresliceindexSliceIndexInst (T : Type) :
+Definition core_slice_index_SliceIndexUsizeSliceTInst (T : Type) :
core_slice_index_SliceIndex usize (slice T) := {|
- core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst;
+ core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_SealedUsizeInst;
core_slice_index_SliceIndex_Output := T;
core_slice_index_SliceIndex_get := core_slice_index_usize_get T;
core_slice_index_SliceIndex_get_mut := core_slice_index_usize_get_mut T;
@@ -815,8 +815,16 @@ Definition alloc_vec_Vec_coreopsindexIndexMutInst (T Idx : Type)
(*** Theorems *)
+Axiom alloc_vec_Vec_index_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
+ alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i =
+ alloc_vec_Vec_index_usize v i.
+
+Axiom alloc_vec_Vec_index_mut_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
+ alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i =
+ alloc_vec_Vec_index_usize v i.
+
Axiom alloc_vec_Vec_index_mut_back_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
- alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x =
+ alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x =
alloc_vec_Vec_update_usize v i x.
End Primitives.
diff --git a/tests/coq/misc/Constants.v b/tests/coq/misc/Constants.v
index 03653f69..1f2ab812 100644
--- a/tests/coq/misc/Constants.v
+++ b/tests/coq/misc/Constants.v
@@ -68,7 +68,7 @@ Record Wrap_t (T : Type) := mkWrap_t { wrap_value : T; }.
Arguments mkWrap_t { _ }.
Arguments wrap_value { _ }.
-(** [constants::Wrap::{0}::new]: forward function *)
+(** [constants::{constants::Wrap<T>}::new]: forward function *)
Definition wrap_new (T : Type) (value : T) : result (Wrap_t T) :=
Return {| wrap_value := value |}
.
diff --git a/tests/coq/misc/External_Opaque.v b/tests/coq/misc/External_Opaque.v
index 80be37e7..10c05583 100644
--- a/tests/coq/misc/External_Opaque.v
+++ b/tests/coq/misc/External_Opaque.v
@@ -25,12 +25,12 @@ Axiom core_mem_swap_back1 :
forall(T : Type), T -> T -> state -> state -> result (state * T)
.
-(** [core::num::nonzero::NonZeroU32::{14}::new]: forward function *)
+(** [core::num::nonzero::{core::num::nonzero::NonZeroU32#14}::new]: forward function *)
Axiom core_num_nonzero_NonZeroU32_new
: u32 -> state -> result (state * (option core_num_nonzero_NonZeroU32_t))
.
-(** [core::option::Option::{0}::unwrap]: forward function *)
+(** [core::option::{core::option::Option<T>}::unwrap]: forward function *)
Axiom core_option_Option_unwrap :
forall(T : Type), option T -> state -> result (state * T)
.
diff --git a/tests/coq/misc/Loops.v b/tests/coq/misc/Loops.v
index 1c0eab17..e5ff6c8e 100644
--- a/tests/coq/misc/Loops.v
+++ b/tests/coq/misc/Loops.v
@@ -77,7 +77,7 @@ Fixpoint clear_loop
i1 <- usize_add i 1%usize;
v0 <-
alloc_vec_Vec_index_mut_back u32 usize
- (core_slice_index_usize_coresliceindexSliceIndexInst u32) v i 0%u32;
+ (core_slice_index_SliceIndexUsizeSliceTInst u32) v i 0%u32;
clear_loop n0 v0 i1)
else Return v
end
@@ -209,8 +209,7 @@ Definition get_elem_mut
:=
l <-
alloc_vec_Vec_index_mut (List_t usize) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t usize))
- slots 0%usize;
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t usize)) slots 0%usize;
get_elem_mut_loop n x l
.
@@ -240,12 +239,11 @@ Definition get_elem_mut_back
:=
l <-
alloc_vec_Vec_index_mut (List_t usize) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t usize))
- slots 0%usize;
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t usize)) slots 0%usize;
l0 <- get_elem_mut_loop_back n x l ret;
alloc_vec_Vec_index_mut_back (List_t usize) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t usize)) slots
- 0%usize l0
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t usize)) slots 0%usize
+ l0
.
(** [loops::get_elem_shared]: loop 0: forward function *)
@@ -269,8 +267,7 @@ Definition get_elem_shared
:=
l <-
alloc_vec_Vec_index (List_t usize) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (List_t usize))
- slots 0%usize;
+ (core_slice_index_SliceIndexUsizeSliceTInst (List_t usize)) slots 0%usize;
get_elem_shared_loop n x l
.
diff --git a/tests/coq/misc/NoNestedBorrows.v b/tests/coq/misc/NoNestedBorrows.v
index c7af496f..376e722c 100644
--- a/tests/coq/misc/NoNestedBorrows.v
+++ b/tests/coq/misc/NoNestedBorrows.v
@@ -151,8 +151,9 @@ Check (test_list1 )%return.
(** [no_nested_borrows::test_box1]: forward function *)
Definition test_box1 : result unit :=
- let b := 1%i32 in
- let x := b in
+ let b := 0%i32 in
+ b0 <- alloc_boxed_Box_deref_mut_back i32 b 1%i32;
+ x <- alloc_boxed_Box_deref i32 b0;
if negb (x s= 1%i32) then Fail_ Failure else Return tt
.
diff --git a/tests/coq/misc/Primitives.v b/tests/coq/misc/Primitives.v
index 85e38f01..83f860b6 100644
--- a/tests/coq/misc/Primitives.v
+++ b/tests/coq/misc/Primitives.v
@@ -467,14 +467,14 @@ Definition alloc_boxed_Box_deref_mut (T : Type) (x : T) : result T := Return x.
Definition alloc_boxed_Box_deref_mut_back (T : Type) (_ : T) (x : T) : result T := Return x.
(* Trait instance *)
-Definition alloc_boxed_Box_coreOpsDerefInst (Self : Type) : core_ops_deref_Deref Self := {|
+Definition alloc_boxed_Box_coreopsDerefInst (Self : Type) : core_ops_deref_Deref Self := {|
core_ops_deref_Deref_target := Self;
core_ops_deref_Deref_deref := alloc_boxed_Box_deref Self;
|}.
(* Trait instance *)
-Definition alloc_boxed_Box_coreOpsDerefMutInst (Self : Type) : core_ops_deref_DerefMut Self := {|
- core_ops_deref_DerefMut_derefInst := alloc_boxed_Box_coreOpsDerefInst Self;
+Definition alloc_boxed_Box_coreopsDerefMutInst (Self : Type) : core_ops_deref_DerefMut Self := {|
+ core_ops_deref_DerefMut_derefInst := alloc_boxed_Box_coreopsDerefInst Self;
core_ops_deref_DerefMut_deref_mut := alloc_boxed_Box_deref_mut Self;
core_ops_deref_DerefMut_deref_mut_back := alloc_boxed_Box_deref_mut_back Self;
|}.
@@ -576,7 +576,7 @@ Definition alloc_vec_Vec_insert (T: Type) (v: alloc_vec_Vec T) (i: usize) (x: T)
else Fail_ Failure).
(* Helper *)
-Axiom alloc_vec_Vec_index_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize) (x : T), result T.
+Axiom alloc_vec_Vec_index_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize), result T.
(* Helper *)
Axiom alloc_vec_Vec_update_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize) (x : T), result (alloc_vec_Vec T).
@@ -620,18 +620,18 @@ Definition core_slice_index_Slice_index
end.
(* [core::slice::index::Range:::get]: forward function *)
-Axiom core_slice_index_Range_get : forall (T : Type) (i : core_ops_range_Range usize) (s : slice T), result (option (slice T)).
+Axiom core_slice_index_RangeUsize_get : forall (T : Type) (i : core_ops_range_Range usize) (s : slice T), result (option (slice T)).
(* [core::slice::index::Range::get_mut]: forward function *)
-Axiom core_slice_index_Range_get_mut :
+Axiom core_slice_index_RangeUsize_get_mut :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (option (slice T)).
(* [core::slice::index::Range::get_mut]: backward function 0 *)
-Axiom core_slice_index_Range_get_mut_back :
+Axiom core_slice_index_RangeUsize_get_mut_back :
forall (T : Type), core_ops_range_Range usize -> slice T -> option (slice T) -> result (slice T).
(* [core::slice::index::Range::get_unchecked]: forward function *)
-Definition core_slice_index_Range_get_unchecked
+Definition core_slice_index_RangeUsize_get_unchecked
(T : Type) :
core_ops_range_Range usize -> const_raw_ptr (slice T) -> result (const_raw_ptr (slice T)) :=
(* Don't know what the model should be - for now we always fail to make
@@ -639,7 +639,7 @@ Definition core_slice_index_Range_get_unchecked
fun _ _ => Fail_ Failure.
(* [core::slice::index::Range::get_unchecked_mut]: forward function *)
-Definition core_slice_index_Range_get_unchecked_mut
+Definition core_slice_index_RangeUsize_get_unchecked_mut
(T : Type) :
core_ops_range_Range usize -> mut_raw_ptr (slice T) -> result (mut_raw_ptr (slice T)) :=
(* Don't know what the model should be - for now we always fail to make
@@ -647,15 +647,15 @@ Definition core_slice_index_Range_get_unchecked_mut
fun _ _ => Fail_ Failure.
(* [core::slice::index::Range::index]: forward function *)
-Axiom core_slice_index_Range_index :
+Axiom core_slice_index_RangeUsize_index :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (slice T).
(* [core::slice::index::Range::index_mut]: forward function *)
-Axiom core_slice_index_Range_index_mut :
+Axiom core_slice_index_RangeUsize_index_mut :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (slice T).
(* [core::slice::index::Range::index_mut]: backward function 0 *)
-Axiom core_slice_index_Range_index_mut_back :
+Axiom core_slice_index_RangeUsize_index_mut_back :
forall (T : Type), core_ops_range_Range usize -> slice T -> slice T -> result (slice T).
(* [core::slice::index::[T]::index_mut]: forward function *)
@@ -683,44 +683,44 @@ Axiom core_array_Array_index_mut_back :
forall (T Idx : Type) (N : usize) (inst : core_ops_index_IndexMut (slice T) Idx)
(a : array T N) (i : Idx) (x : inst.(core_ops_index_IndexMut_indexInst).(core_ops_index_Index_Output)), result (array T N).
-(* Trait implementation: [core::slice::index::[T]] *)
-Definition core_slice_index_Slice_coreopsindexIndexInst (T Idx : Type)
- (inst : core_slice_index_SliceIndex Idx (slice T)) :
- core_ops_index_Index (slice T) Idx := {|
- core_ops_index_Index_Output := inst.(core_slice_index_SliceIndex_Output);
- core_ops_index_Index_index := core_slice_index_Slice_index T Idx inst;
-|}.
-
(* Trait implementation: [core::slice::index::private_slice_index::Range] *)
-Definition core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst
+Definition core_slice_index_private_slice_index_SealedRangeUsizeInst
: core_slice_index_private_slice_index_Sealed (core_ops_range_Range usize) := tt.
(* Trait implementation: [core::slice::index::Range] *)
-Definition core_slice_index_Range_coresliceindexSliceIndexInst (T : Type) :
+Definition core_slice_index_SliceIndexRangeUsizeSliceTInst (T : Type) :
core_slice_index_SliceIndex (core_ops_range_Range usize) (slice T) := {|
- core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst;
+ core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_SealedRangeUsizeInst;
core_slice_index_SliceIndex_Output := slice T;
- core_slice_index_SliceIndex_get := core_slice_index_Range_get T;
- core_slice_index_SliceIndex_get_mut := core_slice_index_Range_get_mut T;
- core_slice_index_SliceIndex_get_mut_back := core_slice_index_Range_get_mut_back T;
- core_slice_index_SliceIndex_get_unchecked := core_slice_index_Range_get_unchecked T;
- core_slice_index_SliceIndex_get_unchecked_mut := core_slice_index_Range_get_unchecked_mut T;
- core_slice_index_SliceIndex_index := core_slice_index_Range_index T;
- core_slice_index_SliceIndex_index_mut := core_slice_index_Range_index_mut T;
- core_slice_index_SliceIndex_index_mut_back := core_slice_index_Range_index_mut_back T;
+ core_slice_index_SliceIndex_get := core_slice_index_RangeUsize_get T;
+ core_slice_index_SliceIndex_get_mut := core_slice_index_RangeUsize_get_mut T;
+ core_slice_index_SliceIndex_get_mut_back := core_slice_index_RangeUsize_get_mut_back T;
+ core_slice_index_SliceIndex_get_unchecked := core_slice_index_RangeUsize_get_unchecked T;
+ core_slice_index_SliceIndex_get_unchecked_mut := core_slice_index_RangeUsize_get_unchecked_mut T;
+ core_slice_index_SliceIndex_index := core_slice_index_RangeUsize_index T;
+ core_slice_index_SliceIndex_index_mut := core_slice_index_RangeUsize_index_mut T;
+ core_slice_index_SliceIndex_index_mut_back := core_slice_index_RangeUsize_index_mut_back T;
+|}.
+
+(* Trait implementation: [core::slice::index::[T]] *)
+Definition core_ops_index_IndexSliceTIInst (T Idx : Type)
+ (inst : core_slice_index_SliceIndex Idx (slice T)) :
+ core_ops_index_Index (slice T) Idx := {|
+ core_ops_index_Index_Output := inst.(core_slice_index_SliceIndex_Output);
+ core_ops_index_Index_index := core_slice_index_Slice_index T Idx inst;
|}.
(* Trait implementation: [core::slice::index::[T]] *)
-Definition core_slice_index_Slice_coreopsindexIndexMutInst (T Idx : Type)
+Definition core_ops_index_IndexMutSliceTIInst (T Idx : Type)
(inst : core_slice_index_SliceIndex Idx (slice T)) :
core_ops_index_IndexMut (slice T) Idx := {|
- core_ops_index_IndexMut_indexInst := core_slice_index_Slice_coreopsindexIndexInst T Idx inst;
+ core_ops_index_IndexMut_indexInst := core_ops_index_IndexSliceTIInst T Idx inst;
core_ops_index_IndexMut_index_mut := core_slice_index_Slice_index_mut T Idx inst;
core_ops_index_IndexMut_index_mut_back := core_slice_index_Slice_index_mut_back T Idx inst;
|}.
(* Trait implementation: [core::array::[T; N]] *)
-Definition core_array_Array_coreopsindexIndexInst (T Idx : Type) (N : usize)
+Definition core_ops_index_IndexArrayInst (T Idx : Type) (N : usize)
(inst : core_ops_index_Index (slice T) Idx) :
core_ops_index_Index (array T N) Idx := {|
core_ops_index_Index_Output := inst.(core_ops_index_Index_Output);
@@ -728,10 +728,10 @@ Definition core_array_Array_coreopsindexIndexInst (T Idx : Type) (N : usize)
|}.
(* Trait implementation: [core::array::[T; N]] *)
-Definition core_array_Array_coreopsindexIndexMutInst (T Idx : Type) (N : usize)
+Definition core_ops_index_IndexMutArrayInst (T Idx : Type) (N : usize)
(inst : core_ops_index_IndexMut (slice T) Idx) :
core_ops_index_IndexMut (array T N) Idx := {|
- core_ops_index_IndexMut_indexInst := core_array_Array_coreopsindexIndexInst T Idx N inst.(core_ops_index_IndexMut_indexInst);
+ core_ops_index_IndexMut_indexInst := core_ops_index_IndexArrayInst T Idx N inst.(core_ops_index_IndexMut_indexInst);
core_ops_index_IndexMut_index_mut := core_array_Array_index_mut T Idx N inst;
core_ops_index_IndexMut_index_mut_back := core_array_Array_index_mut_back T Idx N inst;
|}.
@@ -765,13 +765,13 @@ Axiom core_slice_index_usize_index_mut_back :
forall (T : Type), usize -> slice T -> T -> result (slice T).
(* Trait implementation: [core::slice::index::private_slice_index::usize] *)
-Definition core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst
+Definition core_slice_index_private_slice_index_SealedUsizeInst
: core_slice_index_private_slice_index_Sealed usize := tt.
(* Trait implementation: [core::slice::index::usize] *)
-Definition core_slice_index_usize_coresliceindexSliceIndexInst (T : Type) :
+Definition core_slice_index_SliceIndexUsizeSliceTInst (T : Type) :
core_slice_index_SliceIndex usize (slice T) := {|
- core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst;
+ core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_SealedUsizeInst;
core_slice_index_SliceIndex_Output := T;
core_slice_index_SliceIndex_get := core_slice_index_usize_get T;
core_slice_index_SliceIndex_get_mut := core_slice_index_usize_get_mut T;
@@ -815,8 +815,16 @@ Definition alloc_vec_Vec_coreopsindexIndexMutInst (T Idx : Type)
(*** Theorems *)
+Axiom alloc_vec_Vec_index_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
+ alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i =
+ alloc_vec_Vec_index_usize v i.
+
+Axiom alloc_vec_Vec_index_mut_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
+ alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i =
+ alloc_vec_Vec_index_usize v i.
+
Axiom alloc_vec_Vec_index_mut_back_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
- alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x =
+ alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x =
alloc_vec_Vec_update_usize v i x.
End Primitives.
diff --git a/tests/coq/traits/Primitives.v b/tests/coq/traits/Primitives.v
index 85e38f01..83f860b6 100644
--- a/tests/coq/traits/Primitives.v
+++ b/tests/coq/traits/Primitives.v
@@ -467,14 +467,14 @@ Definition alloc_boxed_Box_deref_mut (T : Type) (x : T) : result T := Return x.
Definition alloc_boxed_Box_deref_mut_back (T : Type) (_ : T) (x : T) : result T := Return x.
(* Trait instance *)
-Definition alloc_boxed_Box_coreOpsDerefInst (Self : Type) : core_ops_deref_Deref Self := {|
+Definition alloc_boxed_Box_coreopsDerefInst (Self : Type) : core_ops_deref_Deref Self := {|
core_ops_deref_Deref_target := Self;
core_ops_deref_Deref_deref := alloc_boxed_Box_deref Self;
|}.
(* Trait instance *)
-Definition alloc_boxed_Box_coreOpsDerefMutInst (Self : Type) : core_ops_deref_DerefMut Self := {|
- core_ops_deref_DerefMut_derefInst := alloc_boxed_Box_coreOpsDerefInst Self;
+Definition alloc_boxed_Box_coreopsDerefMutInst (Self : Type) : core_ops_deref_DerefMut Self := {|
+ core_ops_deref_DerefMut_derefInst := alloc_boxed_Box_coreopsDerefInst Self;
core_ops_deref_DerefMut_deref_mut := alloc_boxed_Box_deref_mut Self;
core_ops_deref_DerefMut_deref_mut_back := alloc_boxed_Box_deref_mut_back Self;
|}.
@@ -576,7 +576,7 @@ Definition alloc_vec_Vec_insert (T: Type) (v: alloc_vec_Vec T) (i: usize) (x: T)
else Fail_ Failure).
(* Helper *)
-Axiom alloc_vec_Vec_index_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize) (x : T), result T.
+Axiom alloc_vec_Vec_index_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize), result T.
(* Helper *)
Axiom alloc_vec_Vec_update_usize : forall {T : Type} (v : alloc_vec_Vec T) (i : usize) (x : T), result (alloc_vec_Vec T).
@@ -620,18 +620,18 @@ Definition core_slice_index_Slice_index
end.
(* [core::slice::index::Range:::get]: forward function *)
-Axiom core_slice_index_Range_get : forall (T : Type) (i : core_ops_range_Range usize) (s : slice T), result (option (slice T)).
+Axiom core_slice_index_RangeUsize_get : forall (T : Type) (i : core_ops_range_Range usize) (s : slice T), result (option (slice T)).
(* [core::slice::index::Range::get_mut]: forward function *)
-Axiom core_slice_index_Range_get_mut :
+Axiom core_slice_index_RangeUsize_get_mut :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (option (slice T)).
(* [core::slice::index::Range::get_mut]: backward function 0 *)
-Axiom core_slice_index_Range_get_mut_back :
+Axiom core_slice_index_RangeUsize_get_mut_back :
forall (T : Type), core_ops_range_Range usize -> slice T -> option (slice T) -> result (slice T).
(* [core::slice::index::Range::get_unchecked]: forward function *)
-Definition core_slice_index_Range_get_unchecked
+Definition core_slice_index_RangeUsize_get_unchecked
(T : Type) :
core_ops_range_Range usize -> const_raw_ptr (slice T) -> result (const_raw_ptr (slice T)) :=
(* Don't know what the model should be - for now we always fail to make
@@ -639,7 +639,7 @@ Definition core_slice_index_Range_get_unchecked
fun _ _ => Fail_ Failure.
(* [core::slice::index::Range::get_unchecked_mut]: forward function *)
-Definition core_slice_index_Range_get_unchecked_mut
+Definition core_slice_index_RangeUsize_get_unchecked_mut
(T : Type) :
core_ops_range_Range usize -> mut_raw_ptr (slice T) -> result (mut_raw_ptr (slice T)) :=
(* Don't know what the model should be - for now we always fail to make
@@ -647,15 +647,15 @@ Definition core_slice_index_Range_get_unchecked_mut
fun _ _ => Fail_ Failure.
(* [core::slice::index::Range::index]: forward function *)
-Axiom core_slice_index_Range_index :
+Axiom core_slice_index_RangeUsize_index :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (slice T).
(* [core::slice::index::Range::index_mut]: forward function *)
-Axiom core_slice_index_Range_index_mut :
+Axiom core_slice_index_RangeUsize_index_mut :
forall (T : Type), core_ops_range_Range usize -> slice T -> result (slice T).
(* [core::slice::index::Range::index_mut]: backward function 0 *)
-Axiom core_slice_index_Range_index_mut_back :
+Axiom core_slice_index_RangeUsize_index_mut_back :
forall (T : Type), core_ops_range_Range usize -> slice T -> slice T -> result (slice T).
(* [core::slice::index::[T]::index_mut]: forward function *)
@@ -683,44 +683,44 @@ Axiom core_array_Array_index_mut_back :
forall (T Idx : Type) (N : usize) (inst : core_ops_index_IndexMut (slice T) Idx)
(a : array T N) (i : Idx) (x : inst.(core_ops_index_IndexMut_indexInst).(core_ops_index_Index_Output)), result (array T N).
-(* Trait implementation: [core::slice::index::[T]] *)
-Definition core_slice_index_Slice_coreopsindexIndexInst (T Idx : Type)
- (inst : core_slice_index_SliceIndex Idx (slice T)) :
- core_ops_index_Index (slice T) Idx := {|
- core_ops_index_Index_Output := inst.(core_slice_index_SliceIndex_Output);
- core_ops_index_Index_index := core_slice_index_Slice_index T Idx inst;
-|}.
-
(* Trait implementation: [core::slice::index::private_slice_index::Range] *)
-Definition core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst
+Definition core_slice_index_private_slice_index_SealedRangeUsizeInst
: core_slice_index_private_slice_index_Sealed (core_ops_range_Range usize) := tt.
(* Trait implementation: [core::slice::index::Range] *)
-Definition core_slice_index_Range_coresliceindexSliceIndexInst (T : Type) :
+Definition core_slice_index_SliceIndexRangeUsizeSliceTInst (T : Type) :
core_slice_index_SliceIndex (core_ops_range_Range usize) (slice T) := {|
- core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst;
+ core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_SealedRangeUsizeInst;
core_slice_index_SliceIndex_Output := slice T;
- core_slice_index_SliceIndex_get := core_slice_index_Range_get T;
- core_slice_index_SliceIndex_get_mut := core_slice_index_Range_get_mut T;
- core_slice_index_SliceIndex_get_mut_back := core_slice_index_Range_get_mut_back T;
- core_slice_index_SliceIndex_get_unchecked := core_slice_index_Range_get_unchecked T;
- core_slice_index_SliceIndex_get_unchecked_mut := core_slice_index_Range_get_unchecked_mut T;
- core_slice_index_SliceIndex_index := core_slice_index_Range_index T;
- core_slice_index_SliceIndex_index_mut := core_slice_index_Range_index_mut T;
- core_slice_index_SliceIndex_index_mut_back := core_slice_index_Range_index_mut_back T;
+ core_slice_index_SliceIndex_get := core_slice_index_RangeUsize_get T;
+ core_slice_index_SliceIndex_get_mut := core_slice_index_RangeUsize_get_mut T;
+ core_slice_index_SliceIndex_get_mut_back := core_slice_index_RangeUsize_get_mut_back T;
+ core_slice_index_SliceIndex_get_unchecked := core_slice_index_RangeUsize_get_unchecked T;
+ core_slice_index_SliceIndex_get_unchecked_mut := core_slice_index_RangeUsize_get_unchecked_mut T;
+ core_slice_index_SliceIndex_index := core_slice_index_RangeUsize_index T;
+ core_slice_index_SliceIndex_index_mut := core_slice_index_RangeUsize_index_mut T;
+ core_slice_index_SliceIndex_index_mut_back := core_slice_index_RangeUsize_index_mut_back T;
+|}.
+
+(* Trait implementation: [core::slice::index::[T]] *)
+Definition core_ops_index_IndexSliceTIInst (T Idx : Type)
+ (inst : core_slice_index_SliceIndex Idx (slice T)) :
+ core_ops_index_Index (slice T) Idx := {|
+ core_ops_index_Index_Output := inst.(core_slice_index_SliceIndex_Output);
+ core_ops_index_Index_index := core_slice_index_Slice_index T Idx inst;
|}.
(* Trait implementation: [core::slice::index::[T]] *)
-Definition core_slice_index_Slice_coreopsindexIndexMutInst (T Idx : Type)
+Definition core_ops_index_IndexMutSliceTIInst (T Idx : Type)
(inst : core_slice_index_SliceIndex Idx (slice T)) :
core_ops_index_IndexMut (slice T) Idx := {|
- core_ops_index_IndexMut_indexInst := core_slice_index_Slice_coreopsindexIndexInst T Idx inst;
+ core_ops_index_IndexMut_indexInst := core_ops_index_IndexSliceTIInst T Idx inst;
core_ops_index_IndexMut_index_mut := core_slice_index_Slice_index_mut T Idx inst;
core_ops_index_IndexMut_index_mut_back := core_slice_index_Slice_index_mut_back T Idx inst;
|}.
(* Trait implementation: [core::array::[T; N]] *)
-Definition core_array_Array_coreopsindexIndexInst (T Idx : Type) (N : usize)
+Definition core_ops_index_IndexArrayInst (T Idx : Type) (N : usize)
(inst : core_ops_index_Index (slice T) Idx) :
core_ops_index_Index (array T N) Idx := {|
core_ops_index_Index_Output := inst.(core_ops_index_Index_Output);
@@ -728,10 +728,10 @@ Definition core_array_Array_coreopsindexIndexInst (T Idx : Type) (N : usize)
|}.
(* Trait implementation: [core::array::[T; N]] *)
-Definition core_array_Array_coreopsindexIndexMutInst (T Idx : Type) (N : usize)
+Definition core_ops_index_IndexMutArrayInst (T Idx : Type) (N : usize)
(inst : core_ops_index_IndexMut (slice T) Idx) :
core_ops_index_IndexMut (array T N) Idx := {|
- core_ops_index_IndexMut_indexInst := core_array_Array_coreopsindexIndexInst T Idx N inst.(core_ops_index_IndexMut_indexInst);
+ core_ops_index_IndexMut_indexInst := core_ops_index_IndexArrayInst T Idx N inst.(core_ops_index_IndexMut_indexInst);
core_ops_index_IndexMut_index_mut := core_array_Array_index_mut T Idx N inst;
core_ops_index_IndexMut_index_mut_back := core_array_Array_index_mut_back T Idx N inst;
|}.
@@ -765,13 +765,13 @@ Axiom core_slice_index_usize_index_mut_back :
forall (T : Type), usize -> slice T -> T -> result (slice T).
(* Trait implementation: [core::slice::index::private_slice_index::usize] *)
-Definition core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst
+Definition core_slice_index_private_slice_index_SealedUsizeInst
: core_slice_index_private_slice_index_Sealed usize := tt.
(* Trait implementation: [core::slice::index::usize] *)
-Definition core_slice_index_usize_coresliceindexSliceIndexInst (T : Type) :
+Definition core_slice_index_SliceIndexUsizeSliceTInst (T : Type) :
core_slice_index_SliceIndex usize (slice T) := {|
- core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst;
+ core_slice_index_SliceIndex_sealedInst := core_slice_index_private_slice_index_SealedUsizeInst;
core_slice_index_SliceIndex_Output := T;
core_slice_index_SliceIndex_get := core_slice_index_usize_get T;
core_slice_index_SliceIndex_get_mut := core_slice_index_usize_get_mut T;
@@ -815,8 +815,16 @@ Definition alloc_vec_Vec_coreopsindexIndexMutInst (T Idx : Type)
(*** Theorems *)
+Axiom alloc_vec_Vec_index_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
+ alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i =
+ alloc_vec_Vec_index_usize v i.
+
+Axiom alloc_vec_Vec_index_mut_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
+ alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i =
+ alloc_vec_Vec_index_usize v i.
+
Axiom alloc_vec_Vec_index_mut_back_eq : forall {a : Type} (v : alloc_vec_Vec a) (i : usize) (x : a),
- alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x =
+ alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x =
alloc_vec_Vec_update_usize v i x.
End Primitives.
diff --git a/tests/fstar/array/Array.Funs.fst b/tests/fstar/array/Array.Funs.fst
index 8f0bfbbd..50fff38d 100644
--- a/tests/fstar/array/Array.Funs.fst
+++ b/tests/fstar/array/Array.Funs.fst
@@ -75,14 +75,14 @@ let index_mut_slice_back
let slice_subslice_shared_
(x : slice u32) (y : usize) (z : usize) : result (slice u32) =
core_slice_index_Slice_index u32 (core_ops_range_Range usize)
- (core_slice_index_Range_coresliceindexSliceIndexInst u32) x
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32) x
{ start = y; end_ = z }
(** [array::slice_subslice_mut_]: forward function *)
let slice_subslice_mut_
(x : slice u32) (y : usize) (z : usize) : result (slice u32) =
core_slice_index_Slice_index_mut u32 (core_ops_range_Range usize)
- (core_slice_index_Range_coresliceindexSliceIndexInst u32) x
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32) x
{ start = y; end_ = z }
(** [array::slice_subslice_mut_]: backward function 0 *)
@@ -91,7 +91,7 @@ let slice_subslice_mut__back
result (slice u32)
=
core_slice_index_Slice_index_mut_back u32 (core_ops_range_Range usize)
- (core_slice_index_Range_coresliceindexSliceIndexInst u32) x
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32) x
{ start = y; end_ = z } ret
(** [array::array_to_slice_shared_]: forward function *)
@@ -111,16 +111,16 @@ let array_to_slice_mut__back
let array_subslice_shared_
(x : array u32 32) (y : usize) (z : usize) : result (slice u32) =
core_array_Array_index u32 (core_ops_range_Range usize) 32
- (core_slice_index_Slice_coreopsindexIndexInst u32 (core_ops_range_Range
- usize) (core_slice_index_Range_coresliceindexSliceIndexInst u32)) x
+ (core_ops_index_IndexSliceTIInst u32 (core_ops_range_Range usize)
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32)) x
{ start = y; end_ = z }
(** [array::array_subslice_mut_]: forward function *)
let array_subslice_mut_
(x : array u32 32) (y : usize) (z : usize) : result (slice u32) =
core_array_Array_index_mut u32 (core_ops_range_Range usize) 32
- (core_slice_index_Slice_coreopsindexIndexMutInst u32 (core_ops_range_Range
- usize) (core_slice_index_Range_coresliceindexSliceIndexInst u32)) x
+ (core_ops_index_IndexMutSliceTIInst u32 (core_ops_range_Range usize)
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32)) x
{ start = y; end_ = z }
(** [array::array_subslice_mut_]: backward function 0 *)
@@ -129,8 +129,8 @@ let array_subslice_mut__back
result (array u32 32)
=
core_array_Array_index_mut_back u32 (core_ops_range_Range usize) 32
- (core_slice_index_Slice_coreopsindexIndexMutInst u32 (core_ops_range_Range
- usize) (core_slice_index_Range_coresliceindexSliceIndexInst u32)) x
+ (core_ops_index_IndexMutSliceTIInst u32 (core_ops_range_Range usize)
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32)) x
{ start = y; end_ = z } ret
(** [array::index_slice_0]: forward function *)
@@ -251,16 +251,14 @@ let update_all : result unit =
let range_all : result unit =
let* s =
core_array_Array_index_mut u32 (core_ops_range_Range usize) 4
- (core_slice_index_Slice_coreopsindexIndexMutInst u32
- (core_ops_range_Range usize)
- (core_slice_index_Range_coresliceindexSliceIndexInst u32))
+ (core_ops_index_IndexMutSliceTIInst u32 (core_ops_range_Range usize)
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32))
(mk_array u32 4 [ 0; 0; 0; 0 ]) { start = 1; end_ = 3 } in
let* s0 = update_mut_slice s in
let* _ =
core_array_Array_index_mut_back u32 (core_ops_range_Range usize) 4
- (core_slice_index_Slice_coreopsindexIndexMutInst u32
- (core_ops_range_Range usize)
- (core_slice_index_Range_coresliceindexSliceIndexInst u32))
+ (core_ops_index_IndexMutSliceTIInst u32 (core_ops_range_Range usize)
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32))
(mk_array u32 4 [ 0; 0; 0; 0 ]) { start = 1; end_ = 3 } s0 in
Return ()
@@ -342,8 +340,8 @@ let f2 (i : u32) : result unit =
(** [array::f4]: forward function *)
let f4 (x : array u32 32) (y : usize) (z : usize) : result (slice u32) =
core_array_Array_index u32 (core_ops_range_Range usize) 32
- (core_slice_index_Slice_coreopsindexIndexInst u32 (core_ops_range_Range
- usize) (core_slice_index_Range_coresliceindexSliceIndexInst u32)) x
+ (core_ops_index_IndexSliceTIInst u32 (core_ops_range_Range usize)
+ (core_slice_index_SliceIndexRangeUsizeSliceTInst u32)) x
{ start = y; end_ = z }
(** [array::f3]: forward function *)
diff --git a/tests/fstar/array/Primitives.fst b/tests/fstar/array/Primitives.fst
index 3297803c..94322ead 100644
--- a/tests/fstar/array/Primitives.fst
+++ b/tests/fstar/array/Primitives.fst
@@ -351,14 +351,14 @@ let alloc_boxed_Box_deref_mut (t : Type0) (x : t) : result t = Return x
let alloc_boxed_Box_deref_mut_back (t : Type) (_ : t) (x : t) : result t = Return x
// Trait instance
-let alloc_boxed_Box_coreOpsDerefInst (self : Type0) : core_ops_deref_Deref self = {
+let alloc_boxed_Box_coreopsDerefInst (self : Type0) : core_ops_deref_Deref self = {
target = self;
deref = alloc_boxed_Box_deref self;
}
// Trait instance
-let alloc_boxed_Box_coreOpsDerefMutInst (self : Type0) : core_ops_deref_DerefMut self = {
- derefInst = alloc_boxed_Box_coreOpsDerefInst self;
+let alloc_boxed_Box_coreopsDerefMutInst (self : Type0) : core_ops_deref_DerefMut self = {
+ derefInst = alloc_boxed_Box_coreopsDerefInst self;
deref_mut = alloc_boxed_Box_deref_mut self;
deref_mut_back = alloc_boxed_Box_deref_mut_back self;
}
@@ -483,23 +483,23 @@ let core_slice_index_Slice_index
| Some x -> Return x
// [core::slice::index::Range:::get]: forward function
-let core_slice_index_Range_get (t : Type0) (i : core_ops_range_Range usize) (s : slice t) :
+let core_slice_index_RangeUsize_get (t : Type0) (i : core_ops_range_Range usize) (s : slice t) :
result (option (slice t)) =
admit () // TODO
// [core::slice::index::Range::get_mut]: forward function
-let core_slice_index_Range_get_mut
+let core_slice_index_RangeUsize_get_mut
(t : Type0) : core_ops_range_Range usize → slice t → result (option (slice t)) =
admit () // TODO
// [core::slice::index::Range::get_mut]: backward function 0
-let core_slice_index_Range_get_mut_back
+let core_slice_index_RangeUsize_get_mut_back
(t : Type0) :
core_ops_range_Range usize → slice t → option (slice t) → result (slice t) =
admit () // TODO
// [core::slice::index::Range::get_unchecked]: forward function
-let core_slice_index_Range_get_unchecked
+let core_slice_index_RangeUsize_get_unchecked
(t : Type0) :
core_ops_range_Range usize → const_raw_ptr (slice t) → result (const_raw_ptr (slice t)) =
// Don't know what the model should be - for now we always fail to make
@@ -507,7 +507,7 @@ let core_slice_index_Range_get_unchecked
fun _ _ -> Fail Failure
// [core::slice::index::Range::get_unchecked_mut]: forward function
-let core_slice_index_Range_get_unchecked_mut
+let core_slice_index_RangeUsize_get_unchecked_mut
(t : Type0) :
core_ops_range_Range usize → mut_raw_ptr (slice t) → result (mut_raw_ptr (slice t)) =
// Don't know what the model should be - for now we always fail to make
@@ -515,17 +515,17 @@ let core_slice_index_Range_get_unchecked_mut
fun _ _ -> Fail Failure
// [core::slice::index::Range::index]: forward function
-let core_slice_index_Range_index
+let core_slice_index_RangeUsize_index
(t : Type0) : core_ops_range_Range usize → slice t → result (slice t) =
admit () // TODO
// [core::slice::index::Range::index_mut]: forward function
-let core_slice_index_Range_index_mut
+let core_slice_index_RangeUsize_index_mut
(t : Type0) : core_ops_range_Range usize → slice t → result (slice t) =
admit () // TODO
// [core::slice::index::Range::index_mut]: backward function 0
-let core_slice_index_Range_index_mut_back
+let core_slice_index_RangeUsize_index_mut_back
(t : Type0) : core_ops_range_Range usize → slice t → slice t → result (slice t) =
admit () // TODO
@@ -559,44 +559,44 @@ let core_array_Array_index_mut_back
(a : array t n) (i : idx) (x : inst.indexInst.output) : result (array t n) =
admit () // TODO
-// Trait implementation: [core::slice::index::[T]]
-let core_slice_index_Slice_coreopsindexIndexInst (t idx : Type0)
- (inst : core_slice_index_SliceIndex idx (slice t)) :
- core_ops_index_Index (slice t) idx = {
- output = inst.output;
- index = core_slice_index_Slice_index t idx inst;
-}
-
// Trait implementation: [core::slice::index::private_slice_index::Range]
-let core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst
+let core_slice_index_private_slice_index_SealedRangeUsizeInst
: core_slice_index_private_slice_index_Sealed (core_ops_range_Range usize) = ()
// Trait implementation: [core::slice::index::Range]
-let core_slice_index_Range_coresliceindexSliceIndexInst (t : Type0) :
+let core_slice_index_SliceIndexRangeUsizeSliceTInst (t : Type0) :
core_slice_index_SliceIndex (core_ops_range_Range usize) (slice t) = {
- sealedInst = core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst;
+ sealedInst = core_slice_index_private_slice_index_SealedRangeUsizeInst;
output = slice t;
- get = core_slice_index_Range_get t;
- get_mut = core_slice_index_Range_get_mut t;
- get_mut_back = core_slice_index_Range_get_mut_back t;
- get_unchecked = core_slice_index_Range_get_unchecked t;
- get_unchecked_mut = core_slice_index_Range_get_unchecked_mut t;
- index = core_slice_index_Range_index t;
- index_mut = core_slice_index_Range_index_mut t;
- index_mut_back = core_slice_index_Range_index_mut_back t;
+ get = core_slice_index_RangeUsize_get t;
+ get_mut = core_slice_index_RangeUsize_get_mut t;
+ get_mut_back = core_slice_index_RangeUsize_get_mut_back t;
+ get_unchecked = core_slice_index_RangeUsize_get_unchecked t;
+ get_unchecked_mut = core_slice_index_RangeUsize_get_unchecked_mut t;
+ index = core_slice_index_RangeUsize_index t;
+ index_mut = core_slice_index_RangeUsize_index_mut t;
+ index_mut_back = core_slice_index_RangeUsize_index_mut_back t;
+}
+
+// Trait implementation: [core::slice::index::[T]]
+let core_ops_index_IndexSliceTIInst (t idx : Type0)
+ (inst : core_slice_index_SliceIndex idx (slice t)) :
+ core_ops_index_Index (slice t) idx = {
+ output = inst.output;
+ index = core_slice_index_Slice_index t idx inst;
}
// Trait implementation: [core::slice::index::[T]]
-let core_slice_index_Slice_coreopsindexIndexMutInst (t idx : Type0)
+let core_ops_index_IndexMutSliceTIInst (t idx : Type0)
(inst : core_slice_index_SliceIndex idx (slice t)) :
core_ops_index_IndexMut (slice t) idx = {
- indexInst = core_slice_index_Slice_coreopsindexIndexInst t idx inst;
+ indexInst = core_ops_index_IndexSliceTIInst t idx inst;
index_mut = core_slice_index_Slice_index_mut t idx inst;
index_mut_back = core_slice_index_Slice_index_mut_back t idx inst;
}
// Trait implementation: [core::array::[T; N]]
-let core_array_Array_coreopsindexIndexInst (t idx : Type0) (n : usize)
+let core_ops_index_IndexArrayInst (t idx : Type0) (n : usize)
(inst : core_ops_index_Index (slice t) idx) :
core_ops_index_Index (array t n) idx = {
output = inst.output;
@@ -604,10 +604,10 @@ let core_array_Array_coreopsindexIndexInst (t idx : Type0) (n : usize)
}
// Trait implementation: [core::array::[T; N]]
-let core_array_Array_coreopsindexIndexMutInst (t idx : Type0) (n : usize)
+let core_ops_index_IndexMutArrayIInst (t idx : Type0) (n : usize)
(inst : core_ops_index_IndexMut (slice t) idx) :
core_ops_index_IndexMut (array t n) idx = {
- indexInst = core_array_Array_coreopsindexIndexInst t idx n inst.indexInst;
+ indexInst = core_ops_index_IndexArrayInst t idx n inst.indexInst;
index_mut = core_array_Array_index_mut t idx n inst;
index_mut_back = core_array_Array_index_mut_back t idx n inst;
}
@@ -651,13 +651,13 @@ let core_slice_index_usize_index_mut_back
admit () // TODO
// Trait implementation: [core::slice::index::private_slice_index::usize]
-let core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst
+let core_slice_index_private_slice_index_SealedUsizeInst
: core_slice_index_private_slice_index_Sealed usize = ()
// Trait implementation: [core::slice::index::usize]
-let core_slice_index_usize_coresliceindexSliceIndexInst (t : Type0) :
+let core_slice_index_SliceIndexUsizeSliceTInst (t : Type0) :
core_slice_index_SliceIndex usize (slice t) = {
- sealedInst = core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst;
+ sealedInst = core_slice_index_private_slice_index_SealedUsizeInst;
output = t;
get = core_slice_index_usize_get t;
get_mut = core_slice_index_usize_get_mut t;
@@ -706,24 +706,24 @@ let alloc_vec_Vec_coreopsindexIndexMutInst (t idx : Type0)
let alloc_vec_Vec_index_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) :
Lemma (
- alloc_vec_Vec_index a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i ==
+ alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i ==
alloc_vec_Vec_index_usize v i)
- [SMTPat (alloc_vec_Vec_index a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i)]
+ [SMTPat (alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i)]
=
admit()
let alloc_vec_Vec_index_mut_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) :
Lemma (
- alloc_vec_Vec_index_mut a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i ==
+ alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i ==
alloc_vec_Vec_index_usize v i)
- [SMTPat (alloc_vec_Vec_index_mut a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i)]
+ [SMTPat (alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i)]
=
admit()
let alloc_vec_Vec_index_mut_back_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) (x : a) :
Lemma (
- alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x ==
+ alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x ==
alloc_vec_Vec_update_usize v i x)
- [SMTPat (alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x)]
+ [SMTPat (alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x)]
=
admit()
diff --git a/tests/fstar/betree/Primitives.fst b/tests/fstar/betree/Primitives.fst
index 3297803c..94322ead 100644
--- a/tests/fstar/betree/Primitives.fst
+++ b/tests/fstar/betree/Primitives.fst
@@ -351,14 +351,14 @@ let alloc_boxed_Box_deref_mut (t : Type0) (x : t) : result t = Return x
let alloc_boxed_Box_deref_mut_back (t : Type) (_ : t) (x : t) : result t = Return x
// Trait instance
-let alloc_boxed_Box_coreOpsDerefInst (self : Type0) : core_ops_deref_Deref self = {
+let alloc_boxed_Box_coreopsDerefInst (self : Type0) : core_ops_deref_Deref self = {
target = self;
deref = alloc_boxed_Box_deref self;
}
// Trait instance
-let alloc_boxed_Box_coreOpsDerefMutInst (self : Type0) : core_ops_deref_DerefMut self = {
- derefInst = alloc_boxed_Box_coreOpsDerefInst self;
+let alloc_boxed_Box_coreopsDerefMutInst (self : Type0) : core_ops_deref_DerefMut self = {
+ derefInst = alloc_boxed_Box_coreopsDerefInst self;
deref_mut = alloc_boxed_Box_deref_mut self;
deref_mut_back = alloc_boxed_Box_deref_mut_back self;
}
@@ -483,23 +483,23 @@ let core_slice_index_Slice_index
| Some x -> Return x
// [core::slice::index::Range:::get]: forward function
-let core_slice_index_Range_get (t : Type0) (i : core_ops_range_Range usize) (s : slice t) :
+let core_slice_index_RangeUsize_get (t : Type0) (i : core_ops_range_Range usize) (s : slice t) :
result (option (slice t)) =
admit () // TODO
// [core::slice::index::Range::get_mut]: forward function
-let core_slice_index_Range_get_mut
+let core_slice_index_RangeUsize_get_mut
(t : Type0) : core_ops_range_Range usize → slice t → result (option (slice t)) =
admit () // TODO
// [core::slice::index::Range::get_mut]: backward function 0
-let core_slice_index_Range_get_mut_back
+let core_slice_index_RangeUsize_get_mut_back
(t : Type0) :
core_ops_range_Range usize → slice t → option (slice t) → result (slice t) =
admit () // TODO
// [core::slice::index::Range::get_unchecked]: forward function
-let core_slice_index_Range_get_unchecked
+let core_slice_index_RangeUsize_get_unchecked
(t : Type0) :
core_ops_range_Range usize → const_raw_ptr (slice t) → result (const_raw_ptr (slice t)) =
// Don't know what the model should be - for now we always fail to make
@@ -507,7 +507,7 @@ let core_slice_index_Range_get_unchecked
fun _ _ -> Fail Failure
// [core::slice::index::Range::get_unchecked_mut]: forward function
-let core_slice_index_Range_get_unchecked_mut
+let core_slice_index_RangeUsize_get_unchecked_mut
(t : Type0) :
core_ops_range_Range usize → mut_raw_ptr (slice t) → result (mut_raw_ptr (slice t)) =
// Don't know what the model should be - for now we always fail to make
@@ -515,17 +515,17 @@ let core_slice_index_Range_get_unchecked_mut
fun _ _ -> Fail Failure
// [core::slice::index::Range::index]: forward function
-let core_slice_index_Range_index
+let core_slice_index_RangeUsize_index
(t : Type0) : core_ops_range_Range usize → slice t → result (slice t) =
admit () // TODO
// [core::slice::index::Range::index_mut]: forward function
-let core_slice_index_Range_index_mut
+let core_slice_index_RangeUsize_index_mut
(t : Type0) : core_ops_range_Range usize → slice t → result (slice t) =
admit () // TODO
// [core::slice::index::Range::index_mut]: backward function 0
-let core_slice_index_Range_index_mut_back
+let core_slice_index_RangeUsize_index_mut_back
(t : Type0) : core_ops_range_Range usize → slice t → slice t → result (slice t) =
admit () // TODO
@@ -559,44 +559,44 @@ let core_array_Array_index_mut_back
(a : array t n) (i : idx) (x : inst.indexInst.output) : result (array t n) =
admit () // TODO
-// Trait implementation: [core::slice::index::[T]]
-let core_slice_index_Slice_coreopsindexIndexInst (t idx : Type0)
- (inst : core_slice_index_SliceIndex idx (slice t)) :
- core_ops_index_Index (slice t) idx = {
- output = inst.output;
- index = core_slice_index_Slice_index t idx inst;
-}
-
// Trait implementation: [core::slice::index::private_slice_index::Range]
-let core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst
+let core_slice_index_private_slice_index_SealedRangeUsizeInst
: core_slice_index_private_slice_index_Sealed (core_ops_range_Range usize) = ()
// Trait implementation: [core::slice::index::Range]
-let core_slice_index_Range_coresliceindexSliceIndexInst (t : Type0) :
+let core_slice_index_SliceIndexRangeUsizeSliceTInst (t : Type0) :
core_slice_index_SliceIndex (core_ops_range_Range usize) (slice t) = {
- sealedInst = core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst;
+ sealedInst = core_slice_index_private_slice_index_SealedRangeUsizeInst;
output = slice t;
- get = core_slice_index_Range_get t;
- get_mut = core_slice_index_Range_get_mut t;
- get_mut_back = core_slice_index_Range_get_mut_back t;
- get_unchecked = core_slice_index_Range_get_unchecked t;
- get_unchecked_mut = core_slice_index_Range_get_unchecked_mut t;
- index = core_slice_index_Range_index t;
- index_mut = core_slice_index_Range_index_mut t;
- index_mut_back = core_slice_index_Range_index_mut_back t;
+ get = core_slice_index_RangeUsize_get t;
+ get_mut = core_slice_index_RangeUsize_get_mut t;
+ get_mut_back = core_slice_index_RangeUsize_get_mut_back t;
+ get_unchecked = core_slice_index_RangeUsize_get_unchecked t;
+ get_unchecked_mut = core_slice_index_RangeUsize_get_unchecked_mut t;
+ index = core_slice_index_RangeUsize_index t;
+ index_mut = core_slice_index_RangeUsize_index_mut t;
+ index_mut_back = core_slice_index_RangeUsize_index_mut_back t;
+}
+
+// Trait implementation: [core::slice::index::[T]]
+let core_ops_index_IndexSliceTIInst (t idx : Type0)
+ (inst : core_slice_index_SliceIndex idx (slice t)) :
+ core_ops_index_Index (slice t) idx = {
+ output = inst.output;
+ index = core_slice_index_Slice_index t idx inst;
}
// Trait implementation: [core::slice::index::[T]]
-let core_slice_index_Slice_coreopsindexIndexMutInst (t idx : Type0)
+let core_ops_index_IndexMutSliceTIInst (t idx : Type0)
(inst : core_slice_index_SliceIndex idx (slice t)) :
core_ops_index_IndexMut (slice t) idx = {
- indexInst = core_slice_index_Slice_coreopsindexIndexInst t idx inst;
+ indexInst = core_ops_index_IndexSliceTIInst t idx inst;
index_mut = core_slice_index_Slice_index_mut t idx inst;
index_mut_back = core_slice_index_Slice_index_mut_back t idx inst;
}
// Trait implementation: [core::array::[T; N]]
-let core_array_Array_coreopsindexIndexInst (t idx : Type0) (n : usize)
+let core_ops_index_IndexArrayInst (t idx : Type0) (n : usize)
(inst : core_ops_index_Index (slice t) idx) :
core_ops_index_Index (array t n) idx = {
output = inst.output;
@@ -604,10 +604,10 @@ let core_array_Array_coreopsindexIndexInst (t idx : Type0) (n : usize)
}
// Trait implementation: [core::array::[T; N]]
-let core_array_Array_coreopsindexIndexMutInst (t idx : Type0) (n : usize)
+let core_ops_index_IndexMutArrayIInst (t idx : Type0) (n : usize)
(inst : core_ops_index_IndexMut (slice t) idx) :
core_ops_index_IndexMut (array t n) idx = {
- indexInst = core_array_Array_coreopsindexIndexInst t idx n inst.indexInst;
+ indexInst = core_ops_index_IndexArrayInst t idx n inst.indexInst;
index_mut = core_array_Array_index_mut t idx n inst;
index_mut_back = core_array_Array_index_mut_back t idx n inst;
}
@@ -651,13 +651,13 @@ let core_slice_index_usize_index_mut_back
admit () // TODO
// Trait implementation: [core::slice::index::private_slice_index::usize]
-let core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst
+let core_slice_index_private_slice_index_SealedUsizeInst
: core_slice_index_private_slice_index_Sealed usize = ()
// Trait implementation: [core::slice::index::usize]
-let core_slice_index_usize_coresliceindexSliceIndexInst (t : Type0) :
+let core_slice_index_SliceIndexUsizeSliceTInst (t : Type0) :
core_slice_index_SliceIndex usize (slice t) = {
- sealedInst = core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst;
+ sealedInst = core_slice_index_private_slice_index_SealedUsizeInst;
output = t;
get = core_slice_index_usize_get t;
get_mut = core_slice_index_usize_get_mut t;
@@ -706,24 +706,24 @@ let alloc_vec_Vec_coreopsindexIndexMutInst (t idx : Type0)
let alloc_vec_Vec_index_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) :
Lemma (
- alloc_vec_Vec_index a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i ==
+ alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i ==
alloc_vec_Vec_index_usize v i)
- [SMTPat (alloc_vec_Vec_index a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i)]
+ [SMTPat (alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i)]
=
admit()
let alloc_vec_Vec_index_mut_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) :
Lemma (
- alloc_vec_Vec_index_mut a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i ==
+ alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i ==
alloc_vec_Vec_index_usize v i)
- [SMTPat (alloc_vec_Vec_index_mut a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i)]
+ [SMTPat (alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i)]
=
admit()
let alloc_vec_Vec_index_mut_back_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) (x : a) :
Lemma (
- alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x ==
+ alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x ==
alloc_vec_Vec_update_usize v i x)
- [SMTPat (alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x)]
+ [SMTPat (alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x)]
=
admit()
diff --git a/tests/fstar/betree_back_stateful/Primitives.fst b/tests/fstar/betree_back_stateful/Primitives.fst
index 3297803c..94322ead 100644
--- a/tests/fstar/betree_back_stateful/Primitives.fst
+++ b/tests/fstar/betree_back_stateful/Primitives.fst
@@ -351,14 +351,14 @@ let alloc_boxed_Box_deref_mut (t : Type0) (x : t) : result t = Return x
let alloc_boxed_Box_deref_mut_back (t : Type) (_ : t) (x : t) : result t = Return x
// Trait instance
-let alloc_boxed_Box_coreOpsDerefInst (self : Type0) : core_ops_deref_Deref self = {
+let alloc_boxed_Box_coreopsDerefInst (self : Type0) : core_ops_deref_Deref self = {
target = self;
deref = alloc_boxed_Box_deref self;
}
// Trait instance
-let alloc_boxed_Box_coreOpsDerefMutInst (self : Type0) : core_ops_deref_DerefMut self = {
- derefInst = alloc_boxed_Box_coreOpsDerefInst self;
+let alloc_boxed_Box_coreopsDerefMutInst (self : Type0) : core_ops_deref_DerefMut self = {
+ derefInst = alloc_boxed_Box_coreopsDerefInst self;
deref_mut = alloc_boxed_Box_deref_mut self;
deref_mut_back = alloc_boxed_Box_deref_mut_back self;
}
@@ -483,23 +483,23 @@ let core_slice_index_Slice_index
| Some x -> Return x
// [core::slice::index::Range:::get]: forward function
-let core_slice_index_Range_get (t : Type0) (i : core_ops_range_Range usize) (s : slice t) :
+let core_slice_index_RangeUsize_get (t : Type0) (i : core_ops_range_Range usize) (s : slice t) :
result (option (slice t)) =
admit () // TODO
// [core::slice::index::Range::get_mut]: forward function
-let core_slice_index_Range_get_mut
+let core_slice_index_RangeUsize_get_mut
(t : Type0) : core_ops_range_Range usize → slice t → result (option (slice t)) =
admit () // TODO
// [core::slice::index::Range::get_mut]: backward function 0
-let core_slice_index_Range_get_mut_back
+let core_slice_index_RangeUsize_get_mut_back
(t : Type0) :
core_ops_range_Range usize → slice t → option (slice t) → result (slice t) =
admit () // TODO
// [core::slice::index::Range::get_unchecked]: forward function
-let core_slice_index_Range_get_unchecked
+let core_slice_index_RangeUsize_get_unchecked
(t : Type0) :
core_ops_range_Range usize → const_raw_ptr (slice t) → result (const_raw_ptr (slice t)) =
// Don't know what the model should be - for now we always fail to make
@@ -507,7 +507,7 @@ let core_slice_index_Range_get_unchecked
fun _ _ -> Fail Failure
// [core::slice::index::Range::get_unchecked_mut]: forward function
-let core_slice_index_Range_get_unchecked_mut
+let core_slice_index_RangeUsize_get_unchecked_mut
(t : Type0) :
core_ops_range_Range usize → mut_raw_ptr (slice t) → result (mut_raw_ptr (slice t)) =
// Don't know what the model should be - for now we always fail to make
@@ -515,17 +515,17 @@ let core_slice_index_Range_get_unchecked_mut
fun _ _ -> Fail Failure
// [core::slice::index::Range::index]: forward function
-let core_slice_index_Range_index
+let core_slice_index_RangeUsize_index
(t : Type0) : core_ops_range_Range usize → slice t → result (slice t) =
admit () // TODO
// [core::slice::index::Range::index_mut]: forward function
-let core_slice_index_Range_index_mut
+let core_slice_index_RangeUsize_index_mut
(t : Type0) : core_ops_range_Range usize → slice t → result (slice t) =
admit () // TODO
// [core::slice::index::Range::index_mut]: backward function 0
-let core_slice_index_Range_index_mut_back
+let core_slice_index_RangeUsize_index_mut_back
(t : Type0) : core_ops_range_Range usize → slice t → slice t → result (slice t) =
admit () // TODO
@@ -559,44 +559,44 @@ let core_array_Array_index_mut_back
(a : array t n) (i : idx) (x : inst.indexInst.output) : result (array t n) =
admit () // TODO
-// Trait implementation: [core::slice::index::[T]]
-let core_slice_index_Slice_coreopsindexIndexInst (t idx : Type0)
- (inst : core_slice_index_SliceIndex idx (slice t)) :
- core_ops_index_Index (slice t) idx = {
- output = inst.output;
- index = core_slice_index_Slice_index t idx inst;
-}
-
// Trait implementation: [core::slice::index::private_slice_index::Range]
-let core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst
+let core_slice_index_private_slice_index_SealedRangeUsizeInst
: core_slice_index_private_slice_index_Sealed (core_ops_range_Range usize) = ()
// Trait implementation: [core::slice::index::Range]
-let core_slice_index_Range_coresliceindexSliceIndexInst (t : Type0) :
+let core_slice_index_SliceIndexRangeUsizeSliceTInst (t : Type0) :
core_slice_index_SliceIndex (core_ops_range_Range usize) (slice t) = {
- sealedInst = core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst;
+ sealedInst = core_slice_index_private_slice_index_SealedRangeUsizeInst;
output = slice t;
- get = core_slice_index_Range_get t;
- get_mut = core_slice_index_Range_get_mut t;
- get_mut_back = core_slice_index_Range_get_mut_back t;
- get_unchecked = core_slice_index_Range_get_unchecked t;
- get_unchecked_mut = core_slice_index_Range_get_unchecked_mut t;
- index = core_slice_index_Range_index t;
- index_mut = core_slice_index_Range_index_mut t;
- index_mut_back = core_slice_index_Range_index_mut_back t;
+ get = core_slice_index_RangeUsize_get t;
+ get_mut = core_slice_index_RangeUsize_get_mut t;
+ get_mut_back = core_slice_index_RangeUsize_get_mut_back t;
+ get_unchecked = core_slice_index_RangeUsize_get_unchecked t;
+ get_unchecked_mut = core_slice_index_RangeUsize_get_unchecked_mut t;
+ index = core_slice_index_RangeUsize_index t;
+ index_mut = core_slice_index_RangeUsize_index_mut t;
+ index_mut_back = core_slice_index_RangeUsize_index_mut_back t;
+}
+
+// Trait implementation: [core::slice::index::[T]]
+let core_ops_index_IndexSliceTIInst (t idx : Type0)
+ (inst : core_slice_index_SliceIndex idx (slice t)) :
+ core_ops_index_Index (slice t) idx = {
+ output = inst.output;
+ index = core_slice_index_Slice_index t idx inst;
}
// Trait implementation: [core::slice::index::[T]]
-let core_slice_index_Slice_coreopsindexIndexMutInst (t idx : Type0)
+let core_ops_index_IndexMutSliceTIInst (t idx : Type0)
(inst : core_slice_index_SliceIndex idx (slice t)) :
core_ops_index_IndexMut (slice t) idx = {
- indexInst = core_slice_index_Slice_coreopsindexIndexInst t idx inst;
+ indexInst = core_ops_index_IndexSliceTIInst t idx inst;
index_mut = core_slice_index_Slice_index_mut t idx inst;
index_mut_back = core_slice_index_Slice_index_mut_back t idx inst;
}
// Trait implementation: [core::array::[T; N]]
-let core_array_Array_coreopsindexIndexInst (t idx : Type0) (n : usize)
+let core_ops_index_IndexArrayInst (t idx : Type0) (n : usize)
(inst : core_ops_index_Index (slice t) idx) :
core_ops_index_Index (array t n) idx = {
output = inst.output;
@@ -604,10 +604,10 @@ let core_array_Array_coreopsindexIndexInst (t idx : Type0) (n : usize)
}
// Trait implementation: [core::array::[T; N]]
-let core_array_Array_coreopsindexIndexMutInst (t idx : Type0) (n : usize)
+let core_ops_index_IndexMutArrayIInst (t idx : Type0) (n : usize)
(inst : core_ops_index_IndexMut (slice t) idx) :
core_ops_index_IndexMut (array t n) idx = {
- indexInst = core_array_Array_coreopsindexIndexInst t idx n inst.indexInst;
+ indexInst = core_ops_index_IndexArrayInst t idx n inst.indexInst;
index_mut = core_array_Array_index_mut t idx n inst;
index_mut_back = core_array_Array_index_mut_back t idx n inst;
}
@@ -651,13 +651,13 @@ let core_slice_index_usize_index_mut_back
admit () // TODO
// Trait implementation: [core::slice::index::private_slice_index::usize]
-let core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst
+let core_slice_index_private_slice_index_SealedUsizeInst
: core_slice_index_private_slice_index_Sealed usize = ()
// Trait implementation: [core::slice::index::usize]
-let core_slice_index_usize_coresliceindexSliceIndexInst (t : Type0) :
+let core_slice_index_SliceIndexUsizeSliceTInst (t : Type0) :
core_slice_index_SliceIndex usize (slice t) = {
- sealedInst = core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst;
+ sealedInst = core_slice_index_private_slice_index_SealedUsizeInst;
output = t;
get = core_slice_index_usize_get t;
get_mut = core_slice_index_usize_get_mut t;
@@ -706,24 +706,24 @@ let alloc_vec_Vec_coreopsindexIndexMutInst (t idx : Type0)
let alloc_vec_Vec_index_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) :
Lemma (
- alloc_vec_Vec_index a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i ==
+ alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i ==
alloc_vec_Vec_index_usize v i)
- [SMTPat (alloc_vec_Vec_index a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i)]
+ [SMTPat (alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i)]
=
admit()
let alloc_vec_Vec_index_mut_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) :
Lemma (
- alloc_vec_Vec_index_mut a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i ==
+ alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i ==
alloc_vec_Vec_index_usize v i)
- [SMTPat (alloc_vec_Vec_index_mut a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i)]
+ [SMTPat (alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i)]
=
admit()
let alloc_vec_Vec_index_mut_back_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) (x : a) :
Lemma (
- alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x ==
+ alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x ==
alloc_vec_Vec_update_usize v i x)
- [SMTPat (alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x)]
+ [SMTPat (alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x)]
=
admit()
diff --git a/tests/fstar/hashmap/Hashmap.Clauses.Template.fst b/tests/fstar/hashmap/Hashmap.Clauses.Template.fst
index a1f81666..d6156720 100644
--- a/tests/fstar/hashmap/Hashmap.Clauses.Template.fst
+++ b/tests/fstar/hashmap/Hashmap.Clauses.Template.fst
@@ -6,55 +6,55 @@ open Hashmap.Types
#set-options "--z3rlimit 50 --fuel 1 --ifuel 1"
-(** [hashmap::HashMap::{0}::allocate_slots]: decreases clause *)
+(** [hashmap::{hashmap::HashMap<T>}::allocate_slots]: decreases clause *)
unfold
let hashMap_allocate_slots_loop_decreases (t : Type0)
(slots : alloc_vec_Vec (list_t t)) (n : usize) : nat =
admit ()
-(** [hashmap::HashMap::{0}::clear]: decreases clause *)
+(** [hashmap::{hashmap::HashMap<T>}::clear]: decreases clause *)
unfold
let hashMap_clear_loop_decreases (t : Type0) (slots : alloc_vec_Vec (list_t t))
(i : usize) : nat =
admit ()
-(** [hashmap::HashMap::{0}::insert_in_list]: decreases clause *)
+(** [hashmap::{hashmap::HashMap<T>}::insert_in_list]: decreases clause *)
unfold
let hashMap_insert_in_list_loop_decreases (t : Type0) (key : usize) (value : t)
(ls : list_t t) : nat =
admit ()
-(** [hashmap::HashMap::{0}::move_elements_from_list]: decreases clause *)
+(** [hashmap::{hashmap::HashMap<T>}::move_elements_from_list]: decreases clause *)
unfold
let hashMap_move_elements_from_list_loop_decreases (t : Type0)
(ntable : hashMap_t t) (ls : list_t t) : nat =
admit ()
-(** [hashmap::HashMap::{0}::move_elements]: decreases clause *)
+(** [hashmap::{hashmap::HashMap<T>}::move_elements]: decreases clause *)
unfold
let hashMap_move_elements_loop_decreases (t : Type0) (ntable : hashMap_t t)
(slots : alloc_vec_Vec (list_t t)) (i : usize) : nat =
admit ()
-(** [hashmap::HashMap::{0}::contains_key_in_list]: decreases clause *)
+(** [hashmap::{hashmap::HashMap<T>}::contains_key_in_list]: decreases clause *)
unfold
let hashMap_contains_key_in_list_loop_decreases (t : Type0) (key : usize)
(ls : list_t t) : nat =
admit ()
-(** [hashmap::HashMap::{0}::get_in_list]: decreases clause *)
+(** [hashmap::{hashmap::HashMap<T>}::get_in_list]: decreases clause *)
unfold
let hashMap_get_in_list_loop_decreases (t : Type0) (key : usize)
(ls : list_t t) : nat =
admit ()
-(** [hashmap::HashMap::{0}::get_mut_in_list]: decreases clause *)
+(** [hashmap::{hashmap::HashMap<T>}::get_mut_in_list]: decreases clause *)
unfold
let hashMap_get_mut_in_list_loop_decreases (t : Type0) (ls : list_t t)
(key : usize) : nat =
admit ()
-(** [hashmap::HashMap::{0}::remove_from_list]: decreases clause *)
+(** [hashmap::{hashmap::HashMap<T>}::remove_from_list]: decreases clause *)
unfold
let hashMap_remove_from_list_loop_decreases (t : Type0) (key : usize)
(ls : list_t t) : nat =
diff --git a/tests/fstar/hashmap/Hashmap.Funs.fst b/tests/fstar/hashmap/Hashmap.Funs.fst
index 0e31e364..77e0b46a 100644
--- a/tests/fstar/hashmap/Hashmap.Funs.fst
+++ b/tests/fstar/hashmap/Hashmap.Funs.fst
@@ -11,7 +11,7 @@ include Hashmap.Clauses
let hash_key (k : usize) : result usize =
Return k
-(** [hashmap::HashMap::{0}::allocate_slots]: loop 0: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::allocate_slots]: loop 0: forward function *)
let rec hashMap_allocate_slots_loop
(t : Type0) (slots : alloc_vec_Vec (list_t t)) (n : usize) :
Tot (result (alloc_vec_Vec (list_t t)))
@@ -24,14 +24,14 @@ let rec hashMap_allocate_slots_loop
hashMap_allocate_slots_loop t slots0 n0
else Return slots
-(** [hashmap::HashMap::{0}::allocate_slots]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::allocate_slots]: forward function *)
let hashMap_allocate_slots
(t : Type0) (slots : alloc_vec_Vec (list_t t)) (n : usize) :
result (alloc_vec_Vec (list_t t))
=
hashMap_allocate_slots_loop t slots n
-(** [hashmap::HashMap::{0}::new_with_capacity]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::new_with_capacity]: forward function *)
let hashMap_new_with_capacity
(t : Type0) (capacity : usize) (max_load_dividend : usize)
(max_load_divisor : usize) :
@@ -49,11 +49,11 @@ let hashMap_new_with_capacity
slots = slots
}
-(** [hashmap::HashMap::{0}::new]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::new]: forward function *)
let hashMap_new (t : Type0) : result (hashMap_t t) =
hashMap_new_with_capacity t 32 4 5
-(** [hashmap::HashMap::{0}::clear]: loop 0: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::clear]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let rec hashMap_clear_loop
(t : Type0) (slots : alloc_vec_Vec (list_t t)) (i : usize) :
@@ -66,22 +66,22 @@ let rec hashMap_clear_loop
let* i1 = usize_add i 1 in
let* slots0 =
alloc_vec_Vec_index_mut_back (list_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t t)) slots
- i List_Nil in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t t)) slots i
+ List_Nil in
hashMap_clear_loop t slots0 i1
else Return slots
-(** [hashmap::HashMap::{0}::clear]: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::clear]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let hashMap_clear (t : Type0) (self : hashMap_t t) : result (hashMap_t t) =
let* v = hashMap_clear_loop t self.slots 0 in
Return { self with num_entries = 0; slots = v }
-(** [hashmap::HashMap::{0}::len]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::len]: forward function *)
let hashMap_len (t : Type0) (self : hashMap_t t) : result usize =
Return self.num_entries
-(** [hashmap::HashMap::{0}::insert_in_list]: loop 0: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::insert_in_list]: loop 0: forward function *)
let rec hashMap_insert_in_list_loop
(t : Type0) (key : usize) (value : t) (ls : list_t t) :
Tot (result bool)
@@ -95,12 +95,12 @@ let rec hashMap_insert_in_list_loop
| List_Nil -> Return true
end
-(** [hashmap::HashMap::{0}::insert_in_list]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::insert_in_list]: forward function *)
let hashMap_insert_in_list
(t : Type0) (key : usize) (value : t) (ls : list_t t) : result bool =
hashMap_insert_in_list_loop t key value ls
-(** [hashmap::HashMap::{0}::insert_in_list]: loop 0: backward function 0 *)
+(** [hashmap::{hashmap::HashMap<T>}::insert_in_list]: loop 0: backward function 0 *)
let rec hashMap_insert_in_list_loop_back
(t : Type0) (key : usize) (value : t) (ls : list_t t) :
Tot (result (list_t t))
@@ -116,12 +116,12 @@ let rec hashMap_insert_in_list_loop_back
| List_Nil -> let l = List_Nil in Return (List_Cons key value l)
end
-(** [hashmap::HashMap::{0}::insert_in_list]: backward function 0 *)
+(** [hashmap::{hashmap::HashMap<T>}::insert_in_list]: backward function 0 *)
let hashMap_insert_in_list_back
(t : Type0) (key : usize) (value : t) (ls : list_t t) : result (list_t t) =
hashMap_insert_in_list_loop_back t key value ls
-(** [hashmap::HashMap::{0}::insert_no_resize]: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::insert_no_resize]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let hashMap_insert_no_resize
(t : Type0) (self : hashMap_t t) (key : usize) (value : t) :
@@ -132,8 +132,8 @@ let hashMap_insert_no_resize
let* hash_mod = usize_rem hash i in
let* l =
alloc_vec_Vec_index_mut (list_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t t))
- self.slots hash_mod in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t t)) self.slots
+ hash_mod in
let* inserted = hashMap_insert_in_list t key value l in
if inserted
then
@@ -141,18 +141,18 @@ let hashMap_insert_no_resize
let* l0 = hashMap_insert_in_list_back t key value l in
let* v =
alloc_vec_Vec_index_mut_back (list_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t t))
- self.slots hash_mod l0 in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t t)) self.slots
+ hash_mod l0 in
Return { self with num_entries = i0; slots = v }
else
let* l0 = hashMap_insert_in_list_back t key value l in
let* v =
alloc_vec_Vec_index_mut_back (list_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t t))
- self.slots hash_mod l0 in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t t)) self.slots
+ hash_mod l0 in
Return { self with slots = v }
-(** [hashmap::HashMap::{0}::move_elements_from_list]: loop 0: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::move_elements_from_list]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let rec hashMap_move_elements_from_list_loop
(t : Type0) (ntable : hashMap_t t) (ls : list_t t) :
@@ -166,13 +166,13 @@ let rec hashMap_move_elements_from_list_loop
| List_Nil -> Return ntable
end
-(** [hashmap::HashMap::{0}::move_elements_from_list]: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::move_elements_from_list]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let hashMap_move_elements_from_list
(t : Type0) (ntable : hashMap_t t) (ls : list_t t) : result (hashMap_t t) =
hashMap_move_elements_from_list_loop t ntable ls
-(** [hashmap::HashMap::{0}::move_elements]: loop 0: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::move_elements]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let rec hashMap_move_elements_loop
(t : Type0) (ntable : hashMap_t t) (slots : alloc_vec_Vec (list_t t))
@@ -185,20 +185,18 @@ let rec hashMap_move_elements_loop
then
let* l =
alloc_vec_Vec_index_mut (list_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t t)) slots
- i in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t t)) slots i in
let ls = core_mem_replace (list_t t) l List_Nil in
let* ntable0 = hashMap_move_elements_from_list t ntable ls in
let* i1 = usize_add i 1 in
let l0 = core_mem_replace_back (list_t t) l List_Nil in
let* slots0 =
alloc_vec_Vec_index_mut_back (list_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t t)) slots
- i l0 in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t t)) slots i l0 in
hashMap_move_elements_loop t ntable0 slots0 i1
else Return (ntable, slots)
-(** [hashmap::HashMap::{0}::move_elements]: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::move_elements]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let hashMap_move_elements
(t : Type0) (ntable : hashMap_t t) (slots : alloc_vec_Vec (list_t t))
@@ -207,7 +205,7 @@ let hashMap_move_elements
=
hashMap_move_elements_loop t ntable slots i
-(** [hashmap::HashMap::{0}::try_resize]: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::try_resize]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let hashMap_try_resize
(t : Type0) (self : hashMap_t t) : result (hashMap_t t) =
@@ -226,7 +224,7 @@ let hashMap_try_resize
}
else Return { self with max_load_factor = (i, i0) }
-(** [hashmap::HashMap::{0}::insert]: merged forward/backward function
+(** [hashmap::{hashmap::HashMap<T>}::insert]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let hashMap_insert
(t : Type0) (self : hashMap_t t) (key : usize) (value : t) :
@@ -236,7 +234,7 @@ let hashMap_insert
let* i = hashMap_len t self0 in
if i > self0.max_load then hashMap_try_resize t self0 else Return self0
-(** [hashmap::HashMap::{0}::contains_key_in_list]: loop 0: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::contains_key_in_list]: loop 0: forward function *)
let rec hashMap_contains_key_in_list_loop
(t : Type0) (key : usize) (ls : list_t t) :
Tot (result bool)
@@ -250,12 +248,12 @@ let rec hashMap_contains_key_in_list_loop
| List_Nil -> Return false
end
-(** [hashmap::HashMap::{0}::contains_key_in_list]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::contains_key_in_list]: forward function *)
let hashMap_contains_key_in_list
(t : Type0) (key : usize) (ls : list_t t) : result bool =
hashMap_contains_key_in_list_loop t key ls
-(** [hashmap::HashMap::{0}::contains_key]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::contains_key]: forward function *)
let hashMap_contains_key
(t : Type0) (self : hashMap_t t) (key : usize) : result bool =
let* hash = hash_key key in
@@ -263,11 +261,11 @@ let hashMap_contains_key
let* hash_mod = usize_rem hash i in
let* l =
alloc_vec_Vec_index (list_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t t))
- self.slots hash_mod in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t t)) self.slots
+ hash_mod in
hashMap_contains_key_in_list t key l
-(** [hashmap::HashMap::{0}::get_in_list]: loop 0: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::get_in_list]: loop 0: forward function *)
let rec hashMap_get_in_list_loop
(t : Type0) (key : usize) (ls : list_t t) :
Tot (result t) (decreases (hashMap_get_in_list_loop_decreases t key ls))
@@ -278,22 +276,22 @@ let rec hashMap_get_in_list_loop
| List_Nil -> Fail Failure
end
-(** [hashmap::HashMap::{0}::get_in_list]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::get_in_list]: forward function *)
let hashMap_get_in_list (t : Type0) (key : usize) (ls : list_t t) : result t =
hashMap_get_in_list_loop t key ls
-(** [hashmap::HashMap::{0}::get]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::get]: forward function *)
let hashMap_get (t : Type0) (self : hashMap_t t) (key : usize) : result t =
let* hash = hash_key key in
let i = alloc_vec_Vec_len (list_t t) self.slots in
let* hash_mod = usize_rem hash i in
let* l =
alloc_vec_Vec_index (list_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t t))
- self.slots hash_mod in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t t)) self.slots
+ hash_mod in
hashMap_get_in_list t key l
-(** [hashmap::HashMap::{0}::get_mut_in_list]: loop 0: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::get_mut_in_list]: loop 0: forward function *)
let rec hashMap_get_mut_in_list_loop
(t : Type0) (ls : list_t t) (key : usize) :
Tot (result t) (decreases (hashMap_get_mut_in_list_loop_decreases t ls key))
@@ -304,12 +302,12 @@ let rec hashMap_get_mut_in_list_loop
| List_Nil -> Fail Failure
end
-(** [hashmap::HashMap::{0}::get_mut_in_list]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::get_mut_in_list]: forward function *)
let hashMap_get_mut_in_list
(t : Type0) (ls : list_t t) (key : usize) : result t =
hashMap_get_mut_in_list_loop t ls key
-(** [hashmap::HashMap::{0}::get_mut_in_list]: loop 0: backward function 0 *)
+(** [hashmap::{hashmap::HashMap<T>}::get_mut_in_list]: loop 0: backward function 0 *)
let rec hashMap_get_mut_in_list_loop_back
(t : Type0) (ls : list_t t) (key : usize) (ret : t) :
Tot (result (list_t t))
@@ -325,23 +323,23 @@ let rec hashMap_get_mut_in_list_loop_back
| List_Nil -> Fail Failure
end
-(** [hashmap::HashMap::{0}::get_mut_in_list]: backward function 0 *)
+(** [hashmap::{hashmap::HashMap<T>}::get_mut_in_list]: backward function 0 *)
let hashMap_get_mut_in_list_back
(t : Type0) (ls : list_t t) (key : usize) (ret : t) : result (list_t t) =
hashMap_get_mut_in_list_loop_back t ls key ret
-(** [hashmap::HashMap::{0}::get_mut]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::get_mut]: forward function *)
let hashMap_get_mut (t : Type0) (self : hashMap_t t) (key : usize) : result t =
let* hash = hash_key key in
let i = alloc_vec_Vec_len (list_t t) self.slots in
let* hash_mod = usize_rem hash i in
let* l =
alloc_vec_Vec_index_mut (list_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t t))
- self.slots hash_mod in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t t)) self.slots
+ hash_mod in
hashMap_get_mut_in_list t l key
-(** [hashmap::HashMap::{0}::get_mut]: backward function 0 *)
+(** [hashmap::{hashmap::HashMap<T>}::get_mut]: backward function 0 *)
let hashMap_get_mut_back
(t : Type0) (self : hashMap_t t) (key : usize) (ret : t) :
result (hashMap_t t)
@@ -351,16 +349,16 @@ let hashMap_get_mut_back
let* hash_mod = usize_rem hash i in
let* l =
alloc_vec_Vec_index_mut (list_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t t))
- self.slots hash_mod in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t t)) self.slots
+ hash_mod in
let* l0 = hashMap_get_mut_in_list_back t l key ret in
let* v =
alloc_vec_Vec_index_mut_back (list_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t t))
- self.slots hash_mod l0 in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t t)) self.slots
+ hash_mod l0 in
Return { self with slots = v }
-(** [hashmap::HashMap::{0}::remove_from_list]: loop 0: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::remove_from_list]: loop 0: forward function *)
let rec hashMap_remove_from_list_loop
(t : Type0) (key : usize) (ls : list_t t) :
Tot (result (option t))
@@ -379,12 +377,12 @@ let rec hashMap_remove_from_list_loop
| List_Nil -> Return None
end
-(** [hashmap::HashMap::{0}::remove_from_list]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::remove_from_list]: forward function *)
let hashMap_remove_from_list
(t : Type0) (key : usize) (ls : list_t t) : result (option t) =
hashMap_remove_from_list_loop t key ls
-(** [hashmap::HashMap::{0}::remove_from_list]: loop 0: backward function 1 *)
+(** [hashmap::{hashmap::HashMap<T>}::remove_from_list]: loop 0: backward function 1 *)
let rec hashMap_remove_from_list_loop_back
(t : Type0) (key : usize) (ls : list_t t) :
Tot (result (list_t t))
@@ -405,12 +403,12 @@ let rec hashMap_remove_from_list_loop_back
| List_Nil -> Return List_Nil
end
-(** [hashmap::HashMap::{0}::remove_from_list]: backward function 1 *)
+(** [hashmap::{hashmap::HashMap<T>}::remove_from_list]: backward function 1 *)
let hashMap_remove_from_list_back
(t : Type0) (key : usize) (ls : list_t t) : result (list_t t) =
hashMap_remove_from_list_loop_back t key ls
-(** [hashmap::HashMap::{0}::remove]: forward function *)
+(** [hashmap::{hashmap::HashMap<T>}::remove]: forward function *)
let hashMap_remove
(t : Type0) (self : hashMap_t t) (key : usize) : result (option t) =
let* hash = hash_key key in
@@ -418,15 +416,15 @@ let hashMap_remove
let* hash_mod = usize_rem hash i in
let* l =
alloc_vec_Vec_index_mut (list_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t t))
- self.slots hash_mod in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t t)) self.slots
+ hash_mod in
let* x = hashMap_remove_from_list t key l in
begin match x with
| None -> Return None
| Some x0 -> let* _ = usize_sub self.num_entries 1 in Return (Some x0)
end
-(** [hashmap::HashMap::{0}::remove]: backward function 0 *)
+(** [hashmap::{hashmap::HashMap<T>}::remove]: backward function 0 *)
let hashMap_remove_back
(t : Type0) (self : hashMap_t t) (key : usize) : result (hashMap_t t) =
let* hash = hash_key key in
@@ -434,24 +432,24 @@ let hashMap_remove_back
let* hash_mod = usize_rem hash i in
let* l =
alloc_vec_Vec_index_mut (list_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t t))
- self.slots hash_mod in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t t)) self.slots
+ hash_mod in
let* x = hashMap_remove_from_list t key l in
begin match x with
| None ->
let* l0 = hashMap_remove_from_list_back t key l in
let* v =
alloc_vec_Vec_index_mut_back (list_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t t))
- self.slots hash_mod l0 in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t t)) self.slots
+ hash_mod l0 in
Return { self with slots = v }
| Some x0 ->
let* i0 = usize_sub self.num_entries 1 in
let* l0 = hashMap_remove_from_list_back t key l in
let* v =
alloc_vec_Vec_index_mut_back (list_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t t))
- self.slots hash_mod l0 in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t t)) self.slots
+ hash_mod l0 in
Return { self with num_entries = i0; slots = v }
end
diff --git a/tests/fstar/hashmap/Primitives.fst b/tests/fstar/hashmap/Primitives.fst
index 3297803c..94322ead 100644
--- a/tests/fstar/hashmap/Primitives.fst
+++ b/tests/fstar/hashmap/Primitives.fst
@@ -351,14 +351,14 @@ let alloc_boxed_Box_deref_mut (t : Type0) (x : t) : result t = Return x
let alloc_boxed_Box_deref_mut_back (t : Type) (_ : t) (x : t) : result t = Return x
// Trait instance
-let alloc_boxed_Box_coreOpsDerefInst (self : Type0) : core_ops_deref_Deref self = {
+let alloc_boxed_Box_coreopsDerefInst (self : Type0) : core_ops_deref_Deref self = {
target = self;
deref = alloc_boxed_Box_deref self;
}
// Trait instance
-let alloc_boxed_Box_coreOpsDerefMutInst (self : Type0) : core_ops_deref_DerefMut self = {
- derefInst = alloc_boxed_Box_coreOpsDerefInst self;
+let alloc_boxed_Box_coreopsDerefMutInst (self : Type0) : core_ops_deref_DerefMut self = {
+ derefInst = alloc_boxed_Box_coreopsDerefInst self;
deref_mut = alloc_boxed_Box_deref_mut self;
deref_mut_back = alloc_boxed_Box_deref_mut_back self;
}
@@ -483,23 +483,23 @@ let core_slice_index_Slice_index
| Some x -> Return x
// [core::slice::index::Range:::get]: forward function
-let core_slice_index_Range_get (t : Type0) (i : core_ops_range_Range usize) (s : slice t) :
+let core_slice_index_RangeUsize_get (t : Type0) (i : core_ops_range_Range usize) (s : slice t) :
result (option (slice t)) =
admit () // TODO
// [core::slice::index::Range::get_mut]: forward function
-let core_slice_index_Range_get_mut
+let core_slice_index_RangeUsize_get_mut
(t : Type0) : core_ops_range_Range usize → slice t → result (option (slice t)) =
admit () // TODO
// [core::slice::index::Range::get_mut]: backward function 0
-let core_slice_index_Range_get_mut_back
+let core_slice_index_RangeUsize_get_mut_back
(t : Type0) :
core_ops_range_Range usize → slice t → option (slice t) → result (slice t) =
admit () // TODO
// [core::slice::index::Range::get_unchecked]: forward function
-let core_slice_index_Range_get_unchecked
+let core_slice_index_RangeUsize_get_unchecked
(t : Type0) :
core_ops_range_Range usize → const_raw_ptr (slice t) → result (const_raw_ptr (slice t)) =
// Don't know what the model should be - for now we always fail to make
@@ -507,7 +507,7 @@ let core_slice_index_Range_get_unchecked
fun _ _ -> Fail Failure
// [core::slice::index::Range::get_unchecked_mut]: forward function
-let core_slice_index_Range_get_unchecked_mut
+let core_slice_index_RangeUsize_get_unchecked_mut
(t : Type0) :
core_ops_range_Range usize → mut_raw_ptr (slice t) → result (mut_raw_ptr (slice t)) =
// Don't know what the model should be - for now we always fail to make
@@ -515,17 +515,17 @@ let core_slice_index_Range_get_unchecked_mut
fun _ _ -> Fail Failure
// [core::slice::index::Range::index]: forward function
-let core_slice_index_Range_index
+let core_slice_index_RangeUsize_index
(t : Type0) : core_ops_range_Range usize → slice t → result (slice t) =
admit () // TODO
// [core::slice::index::Range::index_mut]: forward function
-let core_slice_index_Range_index_mut
+let core_slice_index_RangeUsize_index_mut
(t : Type0) : core_ops_range_Range usize → slice t → result (slice t) =
admit () // TODO
// [core::slice::index::Range::index_mut]: backward function 0
-let core_slice_index_Range_index_mut_back
+let core_slice_index_RangeUsize_index_mut_back
(t : Type0) : core_ops_range_Range usize → slice t → slice t → result (slice t) =
admit () // TODO
@@ -559,44 +559,44 @@ let core_array_Array_index_mut_back
(a : array t n) (i : idx) (x : inst.indexInst.output) : result (array t n) =
admit () // TODO
-// Trait implementation: [core::slice::index::[T]]
-let core_slice_index_Slice_coreopsindexIndexInst (t idx : Type0)
- (inst : core_slice_index_SliceIndex idx (slice t)) :
- core_ops_index_Index (slice t) idx = {
- output = inst.output;
- index = core_slice_index_Slice_index t idx inst;
-}
-
// Trait implementation: [core::slice::index::private_slice_index::Range]
-let core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst
+let core_slice_index_private_slice_index_SealedRangeUsizeInst
: core_slice_index_private_slice_index_Sealed (core_ops_range_Range usize) = ()
// Trait implementation: [core::slice::index::Range]
-let core_slice_index_Range_coresliceindexSliceIndexInst (t : Type0) :
+let core_slice_index_SliceIndexRangeUsizeSliceTInst (t : Type0) :
core_slice_index_SliceIndex (core_ops_range_Range usize) (slice t) = {
- sealedInst = core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst;
+ sealedInst = core_slice_index_private_slice_index_SealedRangeUsizeInst;
output = slice t;
- get = core_slice_index_Range_get t;
- get_mut = core_slice_index_Range_get_mut t;
- get_mut_back = core_slice_index_Range_get_mut_back t;
- get_unchecked = core_slice_index_Range_get_unchecked t;
- get_unchecked_mut = core_slice_index_Range_get_unchecked_mut t;
- index = core_slice_index_Range_index t;
- index_mut = core_slice_index_Range_index_mut t;
- index_mut_back = core_slice_index_Range_index_mut_back t;
+ get = core_slice_index_RangeUsize_get t;
+ get_mut = core_slice_index_RangeUsize_get_mut t;
+ get_mut_back = core_slice_index_RangeUsize_get_mut_back t;
+ get_unchecked = core_slice_index_RangeUsize_get_unchecked t;
+ get_unchecked_mut = core_slice_index_RangeUsize_get_unchecked_mut t;
+ index = core_slice_index_RangeUsize_index t;
+ index_mut = core_slice_index_RangeUsize_index_mut t;
+ index_mut_back = core_slice_index_RangeUsize_index_mut_back t;
+}
+
+// Trait implementation: [core::slice::index::[T]]
+let core_ops_index_IndexSliceTIInst (t idx : Type0)
+ (inst : core_slice_index_SliceIndex idx (slice t)) :
+ core_ops_index_Index (slice t) idx = {
+ output = inst.output;
+ index = core_slice_index_Slice_index t idx inst;
}
// Trait implementation: [core::slice::index::[T]]
-let core_slice_index_Slice_coreopsindexIndexMutInst (t idx : Type0)
+let core_ops_index_IndexMutSliceTIInst (t idx : Type0)
(inst : core_slice_index_SliceIndex idx (slice t)) :
core_ops_index_IndexMut (slice t) idx = {
- indexInst = core_slice_index_Slice_coreopsindexIndexInst t idx inst;
+ indexInst = core_ops_index_IndexSliceTIInst t idx inst;
index_mut = core_slice_index_Slice_index_mut t idx inst;
index_mut_back = core_slice_index_Slice_index_mut_back t idx inst;
}
// Trait implementation: [core::array::[T; N]]
-let core_array_Array_coreopsindexIndexInst (t idx : Type0) (n : usize)
+let core_ops_index_IndexArrayInst (t idx : Type0) (n : usize)
(inst : core_ops_index_Index (slice t) idx) :
core_ops_index_Index (array t n) idx = {
output = inst.output;
@@ -604,10 +604,10 @@ let core_array_Array_coreopsindexIndexInst (t idx : Type0) (n : usize)
}
// Trait implementation: [core::array::[T; N]]
-let core_array_Array_coreopsindexIndexMutInst (t idx : Type0) (n : usize)
+let core_ops_index_IndexMutArrayIInst (t idx : Type0) (n : usize)
(inst : core_ops_index_IndexMut (slice t) idx) :
core_ops_index_IndexMut (array t n) idx = {
- indexInst = core_array_Array_coreopsindexIndexInst t idx n inst.indexInst;
+ indexInst = core_ops_index_IndexArrayInst t idx n inst.indexInst;
index_mut = core_array_Array_index_mut t idx n inst;
index_mut_back = core_array_Array_index_mut_back t idx n inst;
}
@@ -651,13 +651,13 @@ let core_slice_index_usize_index_mut_back
admit () // TODO
// Trait implementation: [core::slice::index::private_slice_index::usize]
-let core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst
+let core_slice_index_private_slice_index_SealedUsizeInst
: core_slice_index_private_slice_index_Sealed usize = ()
// Trait implementation: [core::slice::index::usize]
-let core_slice_index_usize_coresliceindexSliceIndexInst (t : Type0) :
+let core_slice_index_SliceIndexUsizeSliceTInst (t : Type0) :
core_slice_index_SliceIndex usize (slice t) = {
- sealedInst = core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst;
+ sealedInst = core_slice_index_private_slice_index_SealedUsizeInst;
output = t;
get = core_slice_index_usize_get t;
get_mut = core_slice_index_usize_get_mut t;
@@ -706,24 +706,24 @@ let alloc_vec_Vec_coreopsindexIndexMutInst (t idx : Type0)
let alloc_vec_Vec_index_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) :
Lemma (
- alloc_vec_Vec_index a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i ==
+ alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i ==
alloc_vec_Vec_index_usize v i)
- [SMTPat (alloc_vec_Vec_index a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i)]
+ [SMTPat (alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i)]
=
admit()
let alloc_vec_Vec_index_mut_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) :
Lemma (
- alloc_vec_Vec_index_mut a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i ==
+ alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i ==
alloc_vec_Vec_index_usize v i)
- [SMTPat (alloc_vec_Vec_index_mut a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i)]
+ [SMTPat (alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i)]
=
admit()
let alloc_vec_Vec_index_mut_back_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) (x : a) :
Lemma (
- alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x ==
+ alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x ==
alloc_vec_Vec_update_usize v i x)
- [SMTPat (alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x)]
+ [SMTPat (alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x)]
=
admit()
diff --git a/tests/fstar/hashmap_on_disk/HashmapMain.Clauses.Template.fst b/tests/fstar/hashmap_on_disk/HashmapMain.Clauses.Template.fst
index 61885ac7..106fa94b 100644
--- a/tests/fstar/hashmap_on_disk/HashmapMain.Clauses.Template.fst
+++ b/tests/fstar/hashmap_on_disk/HashmapMain.Clauses.Template.fst
@@ -6,56 +6,56 @@ open HashmapMain.Types
#set-options "--z3rlimit 50 --fuel 1 --ifuel 1"
-(** [hashmap_main::hashmap::HashMap::{0}::allocate_slots]: decreases clause *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::allocate_slots]: decreases clause *)
unfold
let hashmap_HashMap_allocate_slots_loop_decreases (t : Type0)
(slots : alloc_vec_Vec (hashmap_List_t t)) (n : usize) : nat =
admit ()
-(** [hashmap_main::hashmap::HashMap::{0}::clear]: decreases clause *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::clear]: decreases clause *)
unfold
let hashmap_HashMap_clear_loop_decreases (t : Type0)
(slots : alloc_vec_Vec (hashmap_List_t t)) (i : usize) : nat =
admit ()
-(** [hashmap_main::hashmap::HashMap::{0}::insert_in_list]: decreases clause *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert_in_list]: decreases clause *)
unfold
let hashmap_HashMap_insert_in_list_loop_decreases (t : Type0) (key : usize)
(value : t) (ls : hashmap_List_t t) : nat =
admit ()
-(** [hashmap_main::hashmap::HashMap::{0}::move_elements_from_list]: decreases clause *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::move_elements_from_list]: decreases clause *)
unfold
let hashmap_HashMap_move_elements_from_list_loop_decreases (t : Type0)
(ntable : hashmap_HashMap_t t) (ls : hashmap_List_t t) : nat =
admit ()
-(** [hashmap_main::hashmap::HashMap::{0}::move_elements]: decreases clause *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::move_elements]: decreases clause *)
unfold
let hashmap_HashMap_move_elements_loop_decreases (t : Type0)
(ntable : hashmap_HashMap_t t) (slots : alloc_vec_Vec (hashmap_List_t t))
(i : usize) : nat =
admit ()
-(** [hashmap_main::hashmap::HashMap::{0}::contains_key_in_list]: decreases clause *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::contains_key_in_list]: decreases clause *)
unfold
let hashmap_HashMap_contains_key_in_list_loop_decreases (t : Type0)
(key : usize) (ls : hashmap_List_t t) : nat =
admit ()
-(** [hashmap_main::hashmap::HashMap::{0}::get_in_list]: decreases clause *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_in_list]: decreases clause *)
unfold
let hashmap_HashMap_get_in_list_loop_decreases (t : Type0) (key : usize)
(ls : hashmap_List_t t) : nat =
admit ()
-(** [hashmap_main::hashmap::HashMap::{0}::get_mut_in_list]: decreases clause *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut_in_list]: decreases clause *)
unfold
let hashmap_HashMap_get_mut_in_list_loop_decreases (t : Type0)
(ls : hashmap_List_t t) (key : usize) : nat =
admit ()
-(** [hashmap_main::hashmap::HashMap::{0}::remove_from_list]: decreases clause *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove_from_list]: decreases clause *)
unfold
let hashmap_HashMap_remove_from_list_loop_decreases (t : Type0) (key : usize)
(ls : hashmap_List_t t) : nat =
diff --git a/tests/fstar/hashmap_on_disk/HashmapMain.Funs.fst b/tests/fstar/hashmap_on_disk/HashmapMain.Funs.fst
index 5f227596..30bcfb2e 100644
--- a/tests/fstar/hashmap_on_disk/HashmapMain.Funs.fst
+++ b/tests/fstar/hashmap_on_disk/HashmapMain.Funs.fst
@@ -12,7 +12,7 @@ include HashmapMain.Clauses
let hashmap_hash_key (k : usize) : result usize =
Return k
-(** [hashmap_main::hashmap::HashMap::{0}::allocate_slots]: loop 0: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::allocate_slots]: loop 0: forward function *)
let rec hashmap_HashMap_allocate_slots_loop
(t : Type0) (slots : alloc_vec_Vec (hashmap_List_t t)) (n : usize) :
Tot (result (alloc_vec_Vec (hashmap_List_t t)))
@@ -26,14 +26,14 @@ let rec hashmap_HashMap_allocate_slots_loop
hashmap_HashMap_allocate_slots_loop t slots0 n0
else Return slots
-(** [hashmap_main::hashmap::HashMap::{0}::allocate_slots]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::allocate_slots]: forward function *)
let hashmap_HashMap_allocate_slots
(t : Type0) (slots : alloc_vec_Vec (hashmap_List_t t)) (n : usize) :
result (alloc_vec_Vec (hashmap_List_t t))
=
hashmap_HashMap_allocate_slots_loop t slots n
-(** [hashmap_main::hashmap::HashMap::{0}::new_with_capacity]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::new_with_capacity]: forward function *)
let hashmap_HashMap_new_with_capacity
(t : Type0) (capacity : usize) (max_load_dividend : usize)
(max_load_divisor : usize) :
@@ -51,11 +51,11 @@ let hashmap_HashMap_new_with_capacity
slots = slots
}
-(** [hashmap_main::hashmap::HashMap::{0}::new]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::new]: forward function *)
let hashmap_HashMap_new (t : Type0) : result (hashmap_HashMap_t t) =
hashmap_HashMap_new_with_capacity t 32 4 5
-(** [hashmap_main::hashmap::HashMap::{0}::clear]: loop 0: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::clear]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let rec hashmap_HashMap_clear_loop
(t : Type0) (slots : alloc_vec_Vec (hashmap_List_t t)) (i : usize) :
@@ -68,24 +68,24 @@ let rec hashmap_HashMap_clear_loop
let* i1 = usize_add i 1 in
let* slots0 =
alloc_vec_Vec_index_mut_back (hashmap_List_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t
- t)) slots i Hashmap_List_Nil in
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t t)) slots i
+ Hashmap_List_Nil in
hashmap_HashMap_clear_loop t slots0 i1
else Return slots
-(** [hashmap_main::hashmap::HashMap::{0}::clear]: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::clear]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let hashmap_HashMap_clear
(t : Type0) (self : hashmap_HashMap_t t) : result (hashmap_HashMap_t t) =
let* v = hashmap_HashMap_clear_loop t self.slots 0 in
Return { self with num_entries = 0; slots = v }
-(** [hashmap_main::hashmap::HashMap::{0}::len]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::len]: forward function *)
let hashmap_HashMap_len
(t : Type0) (self : hashmap_HashMap_t t) : result usize =
Return self.num_entries
-(** [hashmap_main::hashmap::HashMap::{0}::insert_in_list]: loop 0: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert_in_list]: loop 0: forward function *)
let rec hashmap_HashMap_insert_in_list_loop
(t : Type0) (key : usize) (value : t) (ls : hashmap_List_t t) :
Tot (result bool)
@@ -99,12 +99,12 @@ let rec hashmap_HashMap_insert_in_list_loop
| Hashmap_List_Nil -> Return true
end
-(** [hashmap_main::hashmap::HashMap::{0}::insert_in_list]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert_in_list]: forward function *)
let hashmap_HashMap_insert_in_list
(t : Type0) (key : usize) (value : t) (ls : hashmap_List_t t) : result bool =
hashmap_HashMap_insert_in_list_loop t key value ls
-(** [hashmap_main::hashmap::HashMap::{0}::insert_in_list]: loop 0: backward function 0 *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert_in_list]: loop 0: backward function 0 *)
let rec hashmap_HashMap_insert_in_list_loop_back
(t : Type0) (key : usize) (value : t) (ls : hashmap_List_t t) :
Tot (result (hashmap_List_t t))
@@ -121,14 +121,14 @@ let rec hashmap_HashMap_insert_in_list_loop_back
let l = Hashmap_List_Nil in Return (Hashmap_List_Cons key value l)
end
-(** [hashmap_main::hashmap::HashMap::{0}::insert_in_list]: backward function 0 *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert_in_list]: backward function 0 *)
let hashmap_HashMap_insert_in_list_back
(t : Type0) (key : usize) (value : t) (ls : hashmap_List_t t) :
result (hashmap_List_t t)
=
hashmap_HashMap_insert_in_list_loop_back t key value ls
-(** [hashmap_main::hashmap::HashMap::{0}::insert_no_resize]: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert_no_resize]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let hashmap_HashMap_insert_no_resize
(t : Type0) (self : hashmap_HashMap_t t) (key : usize) (value : t) :
@@ -139,7 +139,7 @@ let hashmap_HashMap_insert_no_resize
let* hash_mod = usize_rem hash i in
let* l =
alloc_vec_Vec_index_mut (hashmap_List_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t t))
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t t))
self.slots hash_mod in
let* inserted = hashmap_HashMap_insert_in_list t key value l in
if inserted
@@ -148,18 +148,18 @@ let hashmap_HashMap_insert_no_resize
let* l0 = hashmap_HashMap_insert_in_list_back t key value l in
let* v =
alloc_vec_Vec_index_mut_back (hashmap_List_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t
- t)) self.slots hash_mod l0 in
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t t))
+ self.slots hash_mod l0 in
Return { self with num_entries = i0; slots = v }
else
let* l0 = hashmap_HashMap_insert_in_list_back t key value l in
let* v =
alloc_vec_Vec_index_mut_back (hashmap_List_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t
- t)) self.slots hash_mod l0 in
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t t))
+ self.slots hash_mod l0 in
Return { self with slots = v }
-(** [hashmap_main::hashmap::HashMap::{0}::move_elements_from_list]: loop 0: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::move_elements_from_list]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let rec hashmap_HashMap_move_elements_from_list_loop
(t : Type0) (ntable : hashmap_HashMap_t t) (ls : hashmap_List_t t) :
@@ -174,7 +174,7 @@ let rec hashmap_HashMap_move_elements_from_list_loop
| Hashmap_List_Nil -> Return ntable
end
-(** [hashmap_main::hashmap::HashMap::{0}::move_elements_from_list]: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::move_elements_from_list]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let hashmap_HashMap_move_elements_from_list
(t : Type0) (ntable : hashmap_HashMap_t t) (ls : hashmap_List_t t) :
@@ -182,7 +182,7 @@ let hashmap_HashMap_move_elements_from_list
=
hashmap_HashMap_move_elements_from_list_loop t ntable ls
-(** [hashmap_main::hashmap::HashMap::{0}::move_elements]: loop 0: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::move_elements]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let rec hashmap_HashMap_move_elements_loop
(t : Type0) (ntable : hashmap_HashMap_t t)
@@ -195,20 +195,20 @@ let rec hashmap_HashMap_move_elements_loop
then
let* l =
alloc_vec_Vec_index_mut (hashmap_List_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t
- t)) slots i in
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t t)) slots i
+ in
let ls = core_mem_replace (hashmap_List_t t) l Hashmap_List_Nil in
let* ntable0 = hashmap_HashMap_move_elements_from_list t ntable ls in
let* i1 = usize_add i 1 in
let l0 = core_mem_replace_back (hashmap_List_t t) l Hashmap_List_Nil in
let* slots0 =
alloc_vec_Vec_index_mut_back (hashmap_List_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t
- t)) slots i l0 in
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t t)) slots i
+ l0 in
hashmap_HashMap_move_elements_loop t ntable0 slots0 i1
else Return (ntable, slots)
-(** [hashmap_main::hashmap::HashMap::{0}::move_elements]: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::move_elements]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let hashmap_HashMap_move_elements
(t : Type0) (ntable : hashmap_HashMap_t t)
@@ -217,7 +217,7 @@ let hashmap_HashMap_move_elements
=
hashmap_HashMap_move_elements_loop t ntable slots i
-(** [hashmap_main::hashmap::HashMap::{0}::try_resize]: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::try_resize]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let hashmap_HashMap_try_resize
(t : Type0) (self : hashmap_HashMap_t t) : result (hashmap_HashMap_t t) =
@@ -236,7 +236,7 @@ let hashmap_HashMap_try_resize
}
else Return { self with max_load_factor = (i, i0) }
-(** [hashmap_main::hashmap::HashMap::{0}::insert]: merged forward/backward function
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) *)
let hashmap_HashMap_insert
(t : Type0) (self : hashmap_HashMap_t t) (key : usize) (value : t) :
@@ -248,7 +248,7 @@ let hashmap_HashMap_insert
then hashmap_HashMap_try_resize t self0
else Return self0
-(** [hashmap_main::hashmap::HashMap::{0}::contains_key_in_list]: loop 0: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::contains_key_in_list]: loop 0: forward function *)
let rec hashmap_HashMap_contains_key_in_list_loop
(t : Type0) (key : usize) (ls : hashmap_List_t t) :
Tot (result bool)
@@ -262,12 +262,12 @@ let rec hashmap_HashMap_contains_key_in_list_loop
| Hashmap_List_Nil -> Return false
end
-(** [hashmap_main::hashmap::HashMap::{0}::contains_key_in_list]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::contains_key_in_list]: forward function *)
let hashmap_HashMap_contains_key_in_list
(t : Type0) (key : usize) (ls : hashmap_List_t t) : result bool =
hashmap_HashMap_contains_key_in_list_loop t key ls
-(** [hashmap_main::hashmap::HashMap::{0}::contains_key]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::contains_key]: forward function *)
let hashmap_HashMap_contains_key
(t : Type0) (self : hashmap_HashMap_t t) (key : usize) : result bool =
let* hash = hashmap_hash_key key in
@@ -275,11 +275,11 @@ let hashmap_HashMap_contains_key
let* hash_mod = usize_rem hash i in
let* l =
alloc_vec_Vec_index (hashmap_List_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t t))
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t t))
self.slots hash_mod in
hashmap_HashMap_contains_key_in_list t key l
-(** [hashmap_main::hashmap::HashMap::{0}::get_in_list]: loop 0: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_in_list]: loop 0: forward function *)
let rec hashmap_HashMap_get_in_list_loop
(t : Type0) (key : usize) (ls : hashmap_List_t t) :
Tot (result t)
@@ -293,12 +293,12 @@ let rec hashmap_HashMap_get_in_list_loop
| Hashmap_List_Nil -> Fail Failure
end
-(** [hashmap_main::hashmap::HashMap::{0}::get_in_list]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_in_list]: forward function *)
let hashmap_HashMap_get_in_list
(t : Type0) (key : usize) (ls : hashmap_List_t t) : result t =
hashmap_HashMap_get_in_list_loop t key ls
-(** [hashmap_main::hashmap::HashMap::{0}::get]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get]: forward function *)
let hashmap_HashMap_get
(t : Type0) (self : hashmap_HashMap_t t) (key : usize) : result t =
let* hash = hashmap_hash_key key in
@@ -306,11 +306,11 @@ let hashmap_HashMap_get
let* hash_mod = usize_rem hash i in
let* l =
alloc_vec_Vec_index (hashmap_List_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t t))
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t t))
self.slots hash_mod in
hashmap_HashMap_get_in_list t key l
-(** [hashmap_main::hashmap::HashMap::{0}::get_mut_in_list]: loop 0: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut_in_list]: loop 0: forward function *)
let rec hashmap_HashMap_get_mut_in_list_loop
(t : Type0) (ls : hashmap_List_t t) (key : usize) :
Tot (result t)
@@ -324,12 +324,12 @@ let rec hashmap_HashMap_get_mut_in_list_loop
| Hashmap_List_Nil -> Fail Failure
end
-(** [hashmap_main::hashmap::HashMap::{0}::get_mut_in_list]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut_in_list]: forward function *)
let hashmap_HashMap_get_mut_in_list
(t : Type0) (ls : hashmap_List_t t) (key : usize) : result t =
hashmap_HashMap_get_mut_in_list_loop t ls key
-(** [hashmap_main::hashmap::HashMap::{0}::get_mut_in_list]: loop 0: backward function 0 *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut_in_list]: loop 0: backward function 0 *)
let rec hashmap_HashMap_get_mut_in_list_loop_back
(t : Type0) (ls : hashmap_List_t t) (key : usize) (ret : t) :
Tot (result (hashmap_List_t t))
@@ -345,14 +345,14 @@ let rec hashmap_HashMap_get_mut_in_list_loop_back
| Hashmap_List_Nil -> Fail Failure
end
-(** [hashmap_main::hashmap::HashMap::{0}::get_mut_in_list]: backward function 0 *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut_in_list]: backward function 0 *)
let hashmap_HashMap_get_mut_in_list_back
(t : Type0) (ls : hashmap_List_t t) (key : usize) (ret : t) :
result (hashmap_List_t t)
=
hashmap_HashMap_get_mut_in_list_loop_back t ls key ret
-(** [hashmap_main::hashmap::HashMap::{0}::get_mut]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut]: forward function *)
let hashmap_HashMap_get_mut
(t : Type0) (self : hashmap_HashMap_t t) (key : usize) : result t =
let* hash = hashmap_hash_key key in
@@ -360,11 +360,11 @@ let hashmap_HashMap_get_mut
let* hash_mod = usize_rem hash i in
let* l =
alloc_vec_Vec_index_mut (hashmap_List_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t t))
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t t))
self.slots hash_mod in
hashmap_HashMap_get_mut_in_list t l key
-(** [hashmap_main::hashmap::HashMap::{0}::get_mut]: backward function 0 *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut]: backward function 0 *)
let hashmap_HashMap_get_mut_back
(t : Type0) (self : hashmap_HashMap_t t) (key : usize) (ret : t) :
result (hashmap_HashMap_t t)
@@ -374,16 +374,16 @@ let hashmap_HashMap_get_mut_back
let* hash_mod = usize_rem hash i in
let* l =
alloc_vec_Vec_index_mut (hashmap_List_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t t))
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t t))
self.slots hash_mod in
let* l0 = hashmap_HashMap_get_mut_in_list_back t l key ret in
let* v =
alloc_vec_Vec_index_mut_back (hashmap_List_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t t))
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t t))
self.slots hash_mod l0 in
Return { self with slots = v }
-(** [hashmap_main::hashmap::HashMap::{0}::remove_from_list]: loop 0: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove_from_list]: loop 0: forward function *)
let rec hashmap_HashMap_remove_from_list_loop
(t : Type0) (key : usize) (ls : hashmap_List_t t) :
Tot (result (option t))
@@ -404,12 +404,12 @@ let rec hashmap_HashMap_remove_from_list_loop
| Hashmap_List_Nil -> Return None
end
-(** [hashmap_main::hashmap::HashMap::{0}::remove_from_list]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove_from_list]: forward function *)
let hashmap_HashMap_remove_from_list
(t : Type0) (key : usize) (ls : hashmap_List_t t) : result (option t) =
hashmap_HashMap_remove_from_list_loop t key ls
-(** [hashmap_main::hashmap::HashMap::{0}::remove_from_list]: loop 0: backward function 1 *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove_from_list]: loop 0: backward function 1 *)
let rec hashmap_HashMap_remove_from_list_loop_back
(t : Type0) (key : usize) (ls : hashmap_List_t t) :
Tot (result (hashmap_List_t t))
@@ -432,14 +432,14 @@ let rec hashmap_HashMap_remove_from_list_loop_back
| Hashmap_List_Nil -> Return Hashmap_List_Nil
end
-(** [hashmap_main::hashmap::HashMap::{0}::remove_from_list]: backward function 1 *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove_from_list]: backward function 1 *)
let hashmap_HashMap_remove_from_list_back
(t : Type0) (key : usize) (ls : hashmap_List_t t) :
result (hashmap_List_t t)
=
hashmap_HashMap_remove_from_list_loop_back t key ls
-(** [hashmap_main::hashmap::HashMap::{0}::remove]: forward function *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove]: forward function *)
let hashmap_HashMap_remove
(t : Type0) (self : hashmap_HashMap_t t) (key : usize) : result (option t) =
let* hash = hashmap_hash_key key in
@@ -447,7 +447,7 @@ let hashmap_HashMap_remove
let* hash_mod = usize_rem hash i in
let* l =
alloc_vec_Vec_index_mut (hashmap_List_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t t))
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t t))
self.slots hash_mod in
let* x = hashmap_HashMap_remove_from_list t key l in
begin match x with
@@ -455,7 +455,7 @@ let hashmap_HashMap_remove
| Some x0 -> let* _ = usize_sub self.num_entries 1 in Return (Some x0)
end
-(** [hashmap_main::hashmap::HashMap::{0}::remove]: backward function 0 *)
+(** [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove]: backward function 0 *)
let hashmap_HashMap_remove_back
(t : Type0) (self : hashmap_HashMap_t t) (key : usize) :
result (hashmap_HashMap_t t)
@@ -465,7 +465,7 @@ let hashmap_HashMap_remove_back
let* hash_mod = usize_rem hash i in
let* l =
alloc_vec_Vec_index_mut (hashmap_List_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t t))
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t t))
self.slots hash_mod in
let* x = hashmap_HashMap_remove_from_list t key l in
begin match x with
@@ -473,16 +473,16 @@ let hashmap_HashMap_remove_back
let* l0 = hashmap_HashMap_remove_from_list_back t key l in
let* v =
alloc_vec_Vec_index_mut_back (hashmap_List_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t
- t)) self.slots hash_mod l0 in
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t t))
+ self.slots hash_mod l0 in
Return { self with slots = v }
| Some x0 ->
let* i0 = usize_sub self.num_entries 1 in
let* l0 = hashmap_HashMap_remove_from_list_back t key l in
let* v =
alloc_vec_Vec_index_mut_back (hashmap_List_t t) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (hashmap_List_t
- t)) self.slots hash_mod l0 in
+ (core_slice_index_SliceIndexUsizeSliceTInst (hashmap_List_t t))
+ self.slots hash_mod l0 in
Return { self with num_entries = i0; slots = v }
end
diff --git a/tests/fstar/hashmap_on_disk/Primitives.fst b/tests/fstar/hashmap_on_disk/Primitives.fst
index 3297803c..94322ead 100644
--- a/tests/fstar/hashmap_on_disk/Primitives.fst
+++ b/tests/fstar/hashmap_on_disk/Primitives.fst
@@ -351,14 +351,14 @@ let alloc_boxed_Box_deref_mut (t : Type0) (x : t) : result t = Return x
let alloc_boxed_Box_deref_mut_back (t : Type) (_ : t) (x : t) : result t = Return x
// Trait instance
-let alloc_boxed_Box_coreOpsDerefInst (self : Type0) : core_ops_deref_Deref self = {
+let alloc_boxed_Box_coreopsDerefInst (self : Type0) : core_ops_deref_Deref self = {
target = self;
deref = alloc_boxed_Box_deref self;
}
// Trait instance
-let alloc_boxed_Box_coreOpsDerefMutInst (self : Type0) : core_ops_deref_DerefMut self = {
- derefInst = alloc_boxed_Box_coreOpsDerefInst self;
+let alloc_boxed_Box_coreopsDerefMutInst (self : Type0) : core_ops_deref_DerefMut self = {
+ derefInst = alloc_boxed_Box_coreopsDerefInst self;
deref_mut = alloc_boxed_Box_deref_mut self;
deref_mut_back = alloc_boxed_Box_deref_mut_back self;
}
@@ -483,23 +483,23 @@ let core_slice_index_Slice_index
| Some x -> Return x
// [core::slice::index::Range:::get]: forward function
-let core_slice_index_Range_get (t : Type0) (i : core_ops_range_Range usize) (s : slice t) :
+let core_slice_index_RangeUsize_get (t : Type0) (i : core_ops_range_Range usize) (s : slice t) :
result (option (slice t)) =
admit () // TODO
// [core::slice::index::Range::get_mut]: forward function
-let core_slice_index_Range_get_mut
+let core_slice_index_RangeUsize_get_mut
(t : Type0) : core_ops_range_Range usize → slice t → result (option (slice t)) =
admit () // TODO
// [core::slice::index::Range::get_mut]: backward function 0
-let core_slice_index_Range_get_mut_back
+let core_slice_index_RangeUsize_get_mut_back
(t : Type0) :
core_ops_range_Range usize → slice t → option (slice t) → result (slice t) =
admit () // TODO
// [core::slice::index::Range::get_unchecked]: forward function
-let core_slice_index_Range_get_unchecked
+let core_slice_index_RangeUsize_get_unchecked
(t : Type0) :
core_ops_range_Range usize → const_raw_ptr (slice t) → result (const_raw_ptr (slice t)) =
// Don't know what the model should be - for now we always fail to make
@@ -507,7 +507,7 @@ let core_slice_index_Range_get_unchecked
fun _ _ -> Fail Failure
// [core::slice::index::Range::get_unchecked_mut]: forward function
-let core_slice_index_Range_get_unchecked_mut
+let core_slice_index_RangeUsize_get_unchecked_mut
(t : Type0) :
core_ops_range_Range usize → mut_raw_ptr (slice t) → result (mut_raw_ptr (slice t)) =
// Don't know what the model should be - for now we always fail to make
@@ -515,17 +515,17 @@ let core_slice_index_Range_get_unchecked_mut
fun _ _ -> Fail Failure
// [core::slice::index::Range::index]: forward function
-let core_slice_index_Range_index
+let core_slice_index_RangeUsize_index
(t : Type0) : core_ops_range_Range usize → slice t → result (slice t) =
admit () // TODO
// [core::slice::index::Range::index_mut]: forward function
-let core_slice_index_Range_index_mut
+let core_slice_index_RangeUsize_index_mut
(t : Type0) : core_ops_range_Range usize → slice t → result (slice t) =
admit () // TODO
// [core::slice::index::Range::index_mut]: backward function 0
-let core_slice_index_Range_index_mut_back
+let core_slice_index_RangeUsize_index_mut_back
(t : Type0) : core_ops_range_Range usize → slice t → slice t → result (slice t) =
admit () // TODO
@@ -559,44 +559,44 @@ let core_array_Array_index_mut_back
(a : array t n) (i : idx) (x : inst.indexInst.output) : result (array t n) =
admit () // TODO
-// Trait implementation: [core::slice::index::[T]]
-let core_slice_index_Slice_coreopsindexIndexInst (t idx : Type0)
- (inst : core_slice_index_SliceIndex idx (slice t)) :
- core_ops_index_Index (slice t) idx = {
- output = inst.output;
- index = core_slice_index_Slice_index t idx inst;
-}
-
// Trait implementation: [core::slice::index::private_slice_index::Range]
-let core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst
+let core_slice_index_private_slice_index_SealedRangeUsizeInst
: core_slice_index_private_slice_index_Sealed (core_ops_range_Range usize) = ()
// Trait implementation: [core::slice::index::Range]
-let core_slice_index_Range_coresliceindexSliceIndexInst (t : Type0) :
+let core_slice_index_SliceIndexRangeUsizeSliceTInst (t : Type0) :
core_slice_index_SliceIndex (core_ops_range_Range usize) (slice t) = {
- sealedInst = core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst;
+ sealedInst = core_slice_index_private_slice_index_SealedRangeUsizeInst;
output = slice t;
- get = core_slice_index_Range_get t;
- get_mut = core_slice_index_Range_get_mut t;
- get_mut_back = core_slice_index_Range_get_mut_back t;
- get_unchecked = core_slice_index_Range_get_unchecked t;
- get_unchecked_mut = core_slice_index_Range_get_unchecked_mut t;
- index = core_slice_index_Range_index t;
- index_mut = core_slice_index_Range_index_mut t;
- index_mut_back = core_slice_index_Range_index_mut_back t;
+ get = core_slice_index_RangeUsize_get t;
+ get_mut = core_slice_index_RangeUsize_get_mut t;
+ get_mut_back = core_slice_index_RangeUsize_get_mut_back t;
+ get_unchecked = core_slice_index_RangeUsize_get_unchecked t;
+ get_unchecked_mut = core_slice_index_RangeUsize_get_unchecked_mut t;
+ index = core_slice_index_RangeUsize_index t;
+ index_mut = core_slice_index_RangeUsize_index_mut t;
+ index_mut_back = core_slice_index_RangeUsize_index_mut_back t;
+}
+
+// Trait implementation: [core::slice::index::[T]]
+let core_ops_index_IndexSliceTIInst (t idx : Type0)
+ (inst : core_slice_index_SliceIndex idx (slice t)) :
+ core_ops_index_Index (slice t) idx = {
+ output = inst.output;
+ index = core_slice_index_Slice_index t idx inst;
}
// Trait implementation: [core::slice::index::[T]]
-let core_slice_index_Slice_coreopsindexIndexMutInst (t idx : Type0)
+let core_ops_index_IndexMutSliceTIInst (t idx : Type0)
(inst : core_slice_index_SliceIndex idx (slice t)) :
core_ops_index_IndexMut (slice t) idx = {
- indexInst = core_slice_index_Slice_coreopsindexIndexInst t idx inst;
+ indexInst = core_ops_index_IndexSliceTIInst t idx inst;
index_mut = core_slice_index_Slice_index_mut t idx inst;
index_mut_back = core_slice_index_Slice_index_mut_back t idx inst;
}
// Trait implementation: [core::array::[T; N]]
-let core_array_Array_coreopsindexIndexInst (t idx : Type0) (n : usize)
+let core_ops_index_IndexArrayInst (t idx : Type0) (n : usize)
(inst : core_ops_index_Index (slice t) idx) :
core_ops_index_Index (array t n) idx = {
output = inst.output;
@@ -604,10 +604,10 @@ let core_array_Array_coreopsindexIndexInst (t idx : Type0) (n : usize)
}
// Trait implementation: [core::array::[T; N]]
-let core_array_Array_coreopsindexIndexMutInst (t idx : Type0) (n : usize)
+let core_ops_index_IndexMutArrayIInst (t idx : Type0) (n : usize)
(inst : core_ops_index_IndexMut (slice t) idx) :
core_ops_index_IndexMut (array t n) idx = {
- indexInst = core_array_Array_coreopsindexIndexInst t idx n inst.indexInst;
+ indexInst = core_ops_index_IndexArrayInst t idx n inst.indexInst;
index_mut = core_array_Array_index_mut t idx n inst;
index_mut_back = core_array_Array_index_mut_back t idx n inst;
}
@@ -651,13 +651,13 @@ let core_slice_index_usize_index_mut_back
admit () // TODO
// Trait implementation: [core::slice::index::private_slice_index::usize]
-let core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst
+let core_slice_index_private_slice_index_SealedUsizeInst
: core_slice_index_private_slice_index_Sealed usize = ()
// Trait implementation: [core::slice::index::usize]
-let core_slice_index_usize_coresliceindexSliceIndexInst (t : Type0) :
+let core_slice_index_SliceIndexUsizeSliceTInst (t : Type0) :
core_slice_index_SliceIndex usize (slice t) = {
- sealedInst = core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst;
+ sealedInst = core_slice_index_private_slice_index_SealedUsizeInst;
output = t;
get = core_slice_index_usize_get t;
get_mut = core_slice_index_usize_get_mut t;
@@ -706,24 +706,24 @@ let alloc_vec_Vec_coreopsindexIndexMutInst (t idx : Type0)
let alloc_vec_Vec_index_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) :
Lemma (
- alloc_vec_Vec_index a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i ==
+ alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i ==
alloc_vec_Vec_index_usize v i)
- [SMTPat (alloc_vec_Vec_index a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i)]
+ [SMTPat (alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i)]
=
admit()
let alloc_vec_Vec_index_mut_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) :
Lemma (
- alloc_vec_Vec_index_mut a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i ==
+ alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i ==
alloc_vec_Vec_index_usize v i)
- [SMTPat (alloc_vec_Vec_index_mut a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i)]
+ [SMTPat (alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i)]
=
admit()
let alloc_vec_Vec_index_mut_back_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) (x : a) :
Lemma (
- alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x ==
+ alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x ==
alloc_vec_Vec_update_usize v i x)
- [SMTPat (alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x)]
+ [SMTPat (alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x)]
=
admit()
diff --git a/tests/fstar/misc/Constants.fst b/tests/fstar/misc/Constants.fst
index c21d6a5f..2f2fccdb 100644
--- a/tests/fstar/misc/Constants.fst
+++ b/tests/fstar/misc/Constants.fst
@@ -55,7 +55,7 @@ let p3_c : pair_t u32 u32 = eval_global p3_body
(** [constants::Wrap] *)
type wrap_t (t : Type0) = { value : t; }
-(** [constants::Wrap::{0}::new]: forward function *)
+(** [constants::{constants::Wrap<T>}::new]: forward function *)
let wrap_new (t : Type0) (value : t) : result (wrap_t t) =
Return { value = value }
diff --git a/tests/fstar/misc/External.Opaque.fsti b/tests/fstar/misc/External.Opaque.fsti
index 85cf285c..3914a8eb 100644
--- a/tests/fstar/misc/External.Opaque.fsti
+++ b/tests/fstar/misc/External.Opaque.fsti
@@ -17,11 +17,11 @@ val core_mem_swap_back0
val core_mem_swap_back1
(t : Type0) : t -> t -> state -> state -> result (state & t)
-(** [core::num::nonzero::NonZeroU32::{14}::new]: forward function *)
+(** [core::num::nonzero::{core::num::nonzero::NonZeroU32#14}::new]: forward function *)
val core_num_nonzero_NonZeroU32_new
: u32 -> state -> result (state & (option core_num_nonzero_NonZeroU32_t))
-(** [core::option::Option::{0}::unwrap]: forward function *)
+(** [core::option::{core::option::Option<T>}::unwrap]: forward function *)
val core_option_Option_unwrap
(t : Type0) : option t -> state -> result (state & t)
diff --git a/tests/fstar/misc/Loops.Funs.fst b/tests/fstar/misc/Loops.Funs.fst
index 0f755351..4dd3a5dd 100644
--- a/tests/fstar/misc/Loops.Funs.fst
+++ b/tests/fstar/misc/Loops.Funs.fst
@@ -64,7 +64,7 @@ let rec clear_loop
let* i1 = usize_add i 1 in
let* v0 =
alloc_vec_Vec_index_mut_back u32 usize
- (core_slice_index_usize_coresliceindexSliceIndexInst u32) v i 0 in
+ (core_slice_index_SliceIndexUsizeSliceTInst u32) v i 0 in
clear_loop v0 i1
else Return v
@@ -157,8 +157,7 @@ let get_elem_mut
(slots : alloc_vec_Vec (list_t usize)) (x : usize) : result usize =
let* l =
alloc_vec_Vec_index_mut (list_t usize) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t usize))
- slots 0 in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t usize)) slots 0 in
get_elem_mut_loop x l
(** [loops::get_elem_mut]: loop 0: backward function 0 *)
@@ -181,12 +180,10 @@ let get_elem_mut_back
=
let* l =
alloc_vec_Vec_index_mut (list_t usize) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t usize))
- slots 0 in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t usize)) slots 0 in
let* l0 = get_elem_mut_loop_back x l ret in
alloc_vec_Vec_index_mut_back (list_t usize) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t usize)) slots
- 0 l0
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t usize)) slots 0 l0
(** [loops::get_elem_shared]: loop 0: forward function *)
let rec get_elem_shared_loop
@@ -203,8 +200,7 @@ let get_elem_shared
(slots : alloc_vec_Vec (list_t usize)) (x : usize) : result usize =
let* l =
alloc_vec_Vec_index (list_t usize) usize
- (core_slice_index_usize_coresliceindexSliceIndexInst (list_t usize))
- slots 0 in
+ (core_slice_index_SliceIndexUsizeSliceTInst (list_t usize)) slots 0 in
get_elem_shared_loop x l
(** [loops::id_mut]: forward function *)
diff --git a/tests/fstar/misc/NoNestedBorrows.fst b/tests/fstar/misc/NoNestedBorrows.fst
index e97927aa..a6269f60 100644
--- a/tests/fstar/misc/NoNestedBorrows.fst
+++ b/tests/fstar/misc/NoNestedBorrows.fst
@@ -129,7 +129,10 @@ let _ = assert_norm (test_list1 = Return ())
(** [no_nested_borrows::test_box1]: forward function *)
let test_box1 : result unit =
- let b = 1 in let x = b in if not (x = 1) then Fail Failure else Return ()
+ let b = 0 in
+ let* b0 = alloc_boxed_Box_deref_mut_back i32 b 1 in
+ let* x = alloc_boxed_Box_deref i32 b0 in
+ if not (x = 1) then Fail Failure else Return ()
(** Unit test for [no_nested_borrows::test_box1] *)
let _ = assert_norm (test_box1 = Return ())
diff --git a/tests/fstar/misc/Primitives.fst b/tests/fstar/misc/Primitives.fst
index 3297803c..94322ead 100644
--- a/tests/fstar/misc/Primitives.fst
+++ b/tests/fstar/misc/Primitives.fst
@@ -351,14 +351,14 @@ let alloc_boxed_Box_deref_mut (t : Type0) (x : t) : result t = Return x
let alloc_boxed_Box_deref_mut_back (t : Type) (_ : t) (x : t) : result t = Return x
// Trait instance
-let alloc_boxed_Box_coreOpsDerefInst (self : Type0) : core_ops_deref_Deref self = {
+let alloc_boxed_Box_coreopsDerefInst (self : Type0) : core_ops_deref_Deref self = {
target = self;
deref = alloc_boxed_Box_deref self;
}
// Trait instance
-let alloc_boxed_Box_coreOpsDerefMutInst (self : Type0) : core_ops_deref_DerefMut self = {
- derefInst = alloc_boxed_Box_coreOpsDerefInst self;
+let alloc_boxed_Box_coreopsDerefMutInst (self : Type0) : core_ops_deref_DerefMut self = {
+ derefInst = alloc_boxed_Box_coreopsDerefInst self;
deref_mut = alloc_boxed_Box_deref_mut self;
deref_mut_back = alloc_boxed_Box_deref_mut_back self;
}
@@ -483,23 +483,23 @@ let core_slice_index_Slice_index
| Some x -> Return x
// [core::slice::index::Range:::get]: forward function
-let core_slice_index_Range_get (t : Type0) (i : core_ops_range_Range usize) (s : slice t) :
+let core_slice_index_RangeUsize_get (t : Type0) (i : core_ops_range_Range usize) (s : slice t) :
result (option (slice t)) =
admit () // TODO
// [core::slice::index::Range::get_mut]: forward function
-let core_slice_index_Range_get_mut
+let core_slice_index_RangeUsize_get_mut
(t : Type0) : core_ops_range_Range usize → slice t → result (option (slice t)) =
admit () // TODO
// [core::slice::index::Range::get_mut]: backward function 0
-let core_slice_index_Range_get_mut_back
+let core_slice_index_RangeUsize_get_mut_back
(t : Type0) :
core_ops_range_Range usize → slice t → option (slice t) → result (slice t) =
admit () // TODO
// [core::slice::index::Range::get_unchecked]: forward function
-let core_slice_index_Range_get_unchecked
+let core_slice_index_RangeUsize_get_unchecked
(t : Type0) :
core_ops_range_Range usize → const_raw_ptr (slice t) → result (const_raw_ptr (slice t)) =
// Don't know what the model should be - for now we always fail to make
@@ -507,7 +507,7 @@ let core_slice_index_Range_get_unchecked
fun _ _ -> Fail Failure
// [core::slice::index::Range::get_unchecked_mut]: forward function
-let core_slice_index_Range_get_unchecked_mut
+let core_slice_index_RangeUsize_get_unchecked_mut
(t : Type0) :
core_ops_range_Range usize → mut_raw_ptr (slice t) → result (mut_raw_ptr (slice t)) =
// Don't know what the model should be - for now we always fail to make
@@ -515,17 +515,17 @@ let core_slice_index_Range_get_unchecked_mut
fun _ _ -> Fail Failure
// [core::slice::index::Range::index]: forward function
-let core_slice_index_Range_index
+let core_slice_index_RangeUsize_index
(t : Type0) : core_ops_range_Range usize → slice t → result (slice t) =
admit () // TODO
// [core::slice::index::Range::index_mut]: forward function
-let core_slice_index_Range_index_mut
+let core_slice_index_RangeUsize_index_mut
(t : Type0) : core_ops_range_Range usize → slice t → result (slice t) =
admit () // TODO
// [core::slice::index::Range::index_mut]: backward function 0
-let core_slice_index_Range_index_mut_back
+let core_slice_index_RangeUsize_index_mut_back
(t : Type0) : core_ops_range_Range usize → slice t → slice t → result (slice t) =
admit () // TODO
@@ -559,44 +559,44 @@ let core_array_Array_index_mut_back
(a : array t n) (i : idx) (x : inst.indexInst.output) : result (array t n) =
admit () // TODO
-// Trait implementation: [core::slice::index::[T]]
-let core_slice_index_Slice_coreopsindexIndexInst (t idx : Type0)
- (inst : core_slice_index_SliceIndex idx (slice t)) :
- core_ops_index_Index (slice t) idx = {
- output = inst.output;
- index = core_slice_index_Slice_index t idx inst;
-}
-
// Trait implementation: [core::slice::index::private_slice_index::Range]
-let core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst
+let core_slice_index_private_slice_index_SealedRangeUsizeInst
: core_slice_index_private_slice_index_Sealed (core_ops_range_Range usize) = ()
// Trait implementation: [core::slice::index::Range]
-let core_slice_index_Range_coresliceindexSliceIndexInst (t : Type0) :
+let core_slice_index_SliceIndexRangeUsizeSliceTInst (t : Type0) :
core_slice_index_SliceIndex (core_ops_range_Range usize) (slice t) = {
- sealedInst = core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst;
+ sealedInst = core_slice_index_private_slice_index_SealedRangeUsizeInst;
output = slice t;
- get = core_slice_index_Range_get t;
- get_mut = core_slice_index_Range_get_mut t;
- get_mut_back = core_slice_index_Range_get_mut_back t;
- get_unchecked = core_slice_index_Range_get_unchecked t;
- get_unchecked_mut = core_slice_index_Range_get_unchecked_mut t;
- index = core_slice_index_Range_index t;
- index_mut = core_slice_index_Range_index_mut t;
- index_mut_back = core_slice_index_Range_index_mut_back t;
+ get = core_slice_index_RangeUsize_get t;
+ get_mut = core_slice_index_RangeUsize_get_mut t;
+ get_mut_back = core_slice_index_RangeUsize_get_mut_back t;
+ get_unchecked = core_slice_index_RangeUsize_get_unchecked t;
+ get_unchecked_mut = core_slice_index_RangeUsize_get_unchecked_mut t;
+ index = core_slice_index_RangeUsize_index t;
+ index_mut = core_slice_index_RangeUsize_index_mut t;
+ index_mut_back = core_slice_index_RangeUsize_index_mut_back t;
+}
+
+// Trait implementation: [core::slice::index::[T]]
+let core_ops_index_IndexSliceTIInst (t idx : Type0)
+ (inst : core_slice_index_SliceIndex idx (slice t)) :
+ core_ops_index_Index (slice t) idx = {
+ output = inst.output;
+ index = core_slice_index_Slice_index t idx inst;
}
// Trait implementation: [core::slice::index::[T]]
-let core_slice_index_Slice_coreopsindexIndexMutInst (t idx : Type0)
+let core_ops_index_IndexMutSliceTIInst (t idx : Type0)
(inst : core_slice_index_SliceIndex idx (slice t)) :
core_ops_index_IndexMut (slice t) idx = {
- indexInst = core_slice_index_Slice_coreopsindexIndexInst t idx inst;
+ indexInst = core_ops_index_IndexSliceTIInst t idx inst;
index_mut = core_slice_index_Slice_index_mut t idx inst;
index_mut_back = core_slice_index_Slice_index_mut_back t idx inst;
}
// Trait implementation: [core::array::[T; N]]
-let core_array_Array_coreopsindexIndexInst (t idx : Type0) (n : usize)
+let core_ops_index_IndexArrayInst (t idx : Type0) (n : usize)
(inst : core_ops_index_Index (slice t) idx) :
core_ops_index_Index (array t n) idx = {
output = inst.output;
@@ -604,10 +604,10 @@ let core_array_Array_coreopsindexIndexInst (t idx : Type0) (n : usize)
}
// Trait implementation: [core::array::[T; N]]
-let core_array_Array_coreopsindexIndexMutInst (t idx : Type0) (n : usize)
+let core_ops_index_IndexMutArrayIInst (t idx : Type0) (n : usize)
(inst : core_ops_index_IndexMut (slice t) idx) :
core_ops_index_IndexMut (array t n) idx = {
- indexInst = core_array_Array_coreopsindexIndexInst t idx n inst.indexInst;
+ indexInst = core_ops_index_IndexArrayInst t idx n inst.indexInst;
index_mut = core_array_Array_index_mut t idx n inst;
index_mut_back = core_array_Array_index_mut_back t idx n inst;
}
@@ -651,13 +651,13 @@ let core_slice_index_usize_index_mut_back
admit () // TODO
// Trait implementation: [core::slice::index::private_slice_index::usize]
-let core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst
+let core_slice_index_private_slice_index_SealedUsizeInst
: core_slice_index_private_slice_index_Sealed usize = ()
// Trait implementation: [core::slice::index::usize]
-let core_slice_index_usize_coresliceindexSliceIndexInst (t : Type0) :
+let core_slice_index_SliceIndexUsizeSliceTInst (t : Type0) :
core_slice_index_SliceIndex usize (slice t) = {
- sealedInst = core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst;
+ sealedInst = core_slice_index_private_slice_index_SealedUsizeInst;
output = t;
get = core_slice_index_usize_get t;
get_mut = core_slice_index_usize_get_mut t;
@@ -706,24 +706,24 @@ let alloc_vec_Vec_coreopsindexIndexMutInst (t idx : Type0)
let alloc_vec_Vec_index_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) :
Lemma (
- alloc_vec_Vec_index a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i ==
+ alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i ==
alloc_vec_Vec_index_usize v i)
- [SMTPat (alloc_vec_Vec_index a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i)]
+ [SMTPat (alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i)]
=
admit()
let alloc_vec_Vec_index_mut_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) :
Lemma (
- alloc_vec_Vec_index_mut a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i ==
+ alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i ==
alloc_vec_Vec_index_usize v i)
- [SMTPat (alloc_vec_Vec_index_mut a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i)]
+ [SMTPat (alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i)]
=
admit()
let alloc_vec_Vec_index_mut_back_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) (x : a) :
Lemma (
- alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x ==
+ alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x ==
alloc_vec_Vec_update_usize v i x)
- [SMTPat (alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x)]
+ [SMTPat (alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x)]
=
admit()
diff --git a/tests/fstar/traits/Primitives.fst b/tests/fstar/traits/Primitives.fst
index 3297803c..94322ead 100644
--- a/tests/fstar/traits/Primitives.fst
+++ b/tests/fstar/traits/Primitives.fst
@@ -351,14 +351,14 @@ let alloc_boxed_Box_deref_mut (t : Type0) (x : t) : result t = Return x
let alloc_boxed_Box_deref_mut_back (t : Type) (_ : t) (x : t) : result t = Return x
// Trait instance
-let alloc_boxed_Box_coreOpsDerefInst (self : Type0) : core_ops_deref_Deref self = {
+let alloc_boxed_Box_coreopsDerefInst (self : Type0) : core_ops_deref_Deref self = {
target = self;
deref = alloc_boxed_Box_deref self;
}
// Trait instance
-let alloc_boxed_Box_coreOpsDerefMutInst (self : Type0) : core_ops_deref_DerefMut self = {
- derefInst = alloc_boxed_Box_coreOpsDerefInst self;
+let alloc_boxed_Box_coreopsDerefMutInst (self : Type0) : core_ops_deref_DerefMut self = {
+ derefInst = alloc_boxed_Box_coreopsDerefInst self;
deref_mut = alloc_boxed_Box_deref_mut self;
deref_mut_back = alloc_boxed_Box_deref_mut_back self;
}
@@ -483,23 +483,23 @@ let core_slice_index_Slice_index
| Some x -> Return x
// [core::slice::index::Range:::get]: forward function
-let core_slice_index_Range_get (t : Type0) (i : core_ops_range_Range usize) (s : slice t) :
+let core_slice_index_RangeUsize_get (t : Type0) (i : core_ops_range_Range usize) (s : slice t) :
result (option (slice t)) =
admit () // TODO
// [core::slice::index::Range::get_mut]: forward function
-let core_slice_index_Range_get_mut
+let core_slice_index_RangeUsize_get_mut
(t : Type0) : core_ops_range_Range usize → slice t → result (option (slice t)) =
admit () // TODO
// [core::slice::index::Range::get_mut]: backward function 0
-let core_slice_index_Range_get_mut_back
+let core_slice_index_RangeUsize_get_mut_back
(t : Type0) :
core_ops_range_Range usize → slice t → option (slice t) → result (slice t) =
admit () // TODO
// [core::slice::index::Range::get_unchecked]: forward function
-let core_slice_index_Range_get_unchecked
+let core_slice_index_RangeUsize_get_unchecked
(t : Type0) :
core_ops_range_Range usize → const_raw_ptr (slice t) → result (const_raw_ptr (slice t)) =
// Don't know what the model should be - for now we always fail to make
@@ -507,7 +507,7 @@ let core_slice_index_Range_get_unchecked
fun _ _ -> Fail Failure
// [core::slice::index::Range::get_unchecked_mut]: forward function
-let core_slice_index_Range_get_unchecked_mut
+let core_slice_index_RangeUsize_get_unchecked_mut
(t : Type0) :
core_ops_range_Range usize → mut_raw_ptr (slice t) → result (mut_raw_ptr (slice t)) =
// Don't know what the model should be - for now we always fail to make
@@ -515,17 +515,17 @@ let core_slice_index_Range_get_unchecked_mut
fun _ _ -> Fail Failure
// [core::slice::index::Range::index]: forward function
-let core_slice_index_Range_index
+let core_slice_index_RangeUsize_index
(t : Type0) : core_ops_range_Range usize → slice t → result (slice t) =
admit () // TODO
// [core::slice::index::Range::index_mut]: forward function
-let core_slice_index_Range_index_mut
+let core_slice_index_RangeUsize_index_mut
(t : Type0) : core_ops_range_Range usize → slice t → result (slice t) =
admit () // TODO
// [core::slice::index::Range::index_mut]: backward function 0
-let core_slice_index_Range_index_mut_back
+let core_slice_index_RangeUsize_index_mut_back
(t : Type0) : core_ops_range_Range usize → slice t → slice t → result (slice t) =
admit () // TODO
@@ -559,44 +559,44 @@ let core_array_Array_index_mut_back
(a : array t n) (i : idx) (x : inst.indexInst.output) : result (array t n) =
admit () // TODO
-// Trait implementation: [core::slice::index::[T]]
-let core_slice_index_Slice_coreopsindexIndexInst (t idx : Type0)
- (inst : core_slice_index_SliceIndex idx (slice t)) :
- core_ops_index_Index (slice t) idx = {
- output = inst.output;
- index = core_slice_index_Slice_index t idx inst;
-}
-
// Trait implementation: [core::slice::index::private_slice_index::Range]
-let core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst
+let core_slice_index_private_slice_index_SealedRangeUsizeInst
: core_slice_index_private_slice_index_Sealed (core_ops_range_Range usize) = ()
// Trait implementation: [core::slice::index::Range]
-let core_slice_index_Range_coresliceindexSliceIndexInst (t : Type0) :
+let core_slice_index_SliceIndexRangeUsizeSliceTInst (t : Type0) :
core_slice_index_SliceIndex (core_ops_range_Range usize) (slice t) = {
- sealedInst = core_slice_index_private_slice_index_Range_coresliceindexprivate_slice_indexSealedInst;
+ sealedInst = core_slice_index_private_slice_index_SealedRangeUsizeInst;
output = slice t;
- get = core_slice_index_Range_get t;
- get_mut = core_slice_index_Range_get_mut t;
- get_mut_back = core_slice_index_Range_get_mut_back t;
- get_unchecked = core_slice_index_Range_get_unchecked t;
- get_unchecked_mut = core_slice_index_Range_get_unchecked_mut t;
- index = core_slice_index_Range_index t;
- index_mut = core_slice_index_Range_index_mut t;
- index_mut_back = core_slice_index_Range_index_mut_back t;
+ get = core_slice_index_RangeUsize_get t;
+ get_mut = core_slice_index_RangeUsize_get_mut t;
+ get_mut_back = core_slice_index_RangeUsize_get_mut_back t;
+ get_unchecked = core_slice_index_RangeUsize_get_unchecked t;
+ get_unchecked_mut = core_slice_index_RangeUsize_get_unchecked_mut t;
+ index = core_slice_index_RangeUsize_index t;
+ index_mut = core_slice_index_RangeUsize_index_mut t;
+ index_mut_back = core_slice_index_RangeUsize_index_mut_back t;
+}
+
+// Trait implementation: [core::slice::index::[T]]
+let core_ops_index_IndexSliceTIInst (t idx : Type0)
+ (inst : core_slice_index_SliceIndex idx (slice t)) :
+ core_ops_index_Index (slice t) idx = {
+ output = inst.output;
+ index = core_slice_index_Slice_index t idx inst;
}
// Trait implementation: [core::slice::index::[T]]
-let core_slice_index_Slice_coreopsindexIndexMutInst (t idx : Type0)
+let core_ops_index_IndexMutSliceTIInst (t idx : Type0)
(inst : core_slice_index_SliceIndex idx (slice t)) :
core_ops_index_IndexMut (slice t) idx = {
- indexInst = core_slice_index_Slice_coreopsindexIndexInst t idx inst;
+ indexInst = core_ops_index_IndexSliceTIInst t idx inst;
index_mut = core_slice_index_Slice_index_mut t idx inst;
index_mut_back = core_slice_index_Slice_index_mut_back t idx inst;
}
// Trait implementation: [core::array::[T; N]]
-let core_array_Array_coreopsindexIndexInst (t idx : Type0) (n : usize)
+let core_ops_index_IndexArrayInst (t idx : Type0) (n : usize)
(inst : core_ops_index_Index (slice t) idx) :
core_ops_index_Index (array t n) idx = {
output = inst.output;
@@ -604,10 +604,10 @@ let core_array_Array_coreopsindexIndexInst (t idx : Type0) (n : usize)
}
// Trait implementation: [core::array::[T; N]]
-let core_array_Array_coreopsindexIndexMutInst (t idx : Type0) (n : usize)
+let core_ops_index_IndexMutArrayIInst (t idx : Type0) (n : usize)
(inst : core_ops_index_IndexMut (slice t) idx) :
core_ops_index_IndexMut (array t n) idx = {
- indexInst = core_array_Array_coreopsindexIndexInst t idx n inst.indexInst;
+ indexInst = core_ops_index_IndexArrayInst t idx n inst.indexInst;
index_mut = core_array_Array_index_mut t idx n inst;
index_mut_back = core_array_Array_index_mut_back t idx n inst;
}
@@ -651,13 +651,13 @@ let core_slice_index_usize_index_mut_back
admit () // TODO
// Trait implementation: [core::slice::index::private_slice_index::usize]
-let core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst
+let core_slice_index_private_slice_index_SealedUsizeInst
: core_slice_index_private_slice_index_Sealed usize = ()
// Trait implementation: [core::slice::index::usize]
-let core_slice_index_usize_coresliceindexSliceIndexInst (t : Type0) :
+let core_slice_index_SliceIndexUsizeSliceTInst (t : Type0) :
core_slice_index_SliceIndex usize (slice t) = {
- sealedInst = core_slice_index_private_slice_index_usize_coresliceindexprivate_slice_indexSealedInst;
+ sealedInst = core_slice_index_private_slice_index_SealedUsizeInst;
output = t;
get = core_slice_index_usize_get t;
get_mut = core_slice_index_usize_get_mut t;
@@ -706,24 +706,24 @@ let alloc_vec_Vec_coreopsindexIndexMutInst (t idx : Type0)
let alloc_vec_Vec_index_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) :
Lemma (
- alloc_vec_Vec_index a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i ==
+ alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i ==
alloc_vec_Vec_index_usize v i)
- [SMTPat (alloc_vec_Vec_index a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i)]
+ [SMTPat (alloc_vec_Vec_index a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i)]
=
admit()
let alloc_vec_Vec_index_mut_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) :
Lemma (
- alloc_vec_Vec_index_mut a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i ==
+ alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i ==
alloc_vec_Vec_index_usize v i)
- [SMTPat (alloc_vec_Vec_index_mut a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i)]
+ [SMTPat (alloc_vec_Vec_index_mut a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i)]
=
admit()
let alloc_vec_Vec_index_mut_back_eq (#a : Type0) (v : alloc_vec_Vec a) (i : usize) (x : a) :
Lemma (
- alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x ==
+ alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x ==
alloc_vec_Vec_update_usize v i x)
- [SMTPat (alloc_vec_Vec_index_mut_back a usize (core_slice_index_usize_coresliceindexSliceIndexInst a) v i x)]
+ [SMTPat (alloc_vec_Vec_index_mut_back a usize (core_slice_index_SliceIndexUsizeSliceTInst a) v i x)]
=
admit()
diff --git a/tests/lean/Array.lean b/tests/lean/Array.lean
index 20f02e97..5a4e09ab 100644
--- a/tests/lean/Array.lean
+++ b/tests/lean/Array.lean
@@ -91,14 +91,14 @@ def index_mut_slice_back
def slice_subslice_shared_
(x : Slice U32) (y : Usize) (z : Usize) : Result (Slice U32) :=
core.slice.index.Slice.index U32 (core.ops.range.Range Usize)
- (core.slice.index.Range.coresliceindexSliceIndexInst U32) x
+ (core.slice.index.SliceIndexRangeUsizeSliceTInst U32) x
{ start := y, end_ := z }
/- [array::slice_subslice_mut_]: forward function -/
def slice_subslice_mut_
(x : Slice U32) (y : Usize) (z : Usize) : Result (Slice U32) :=
core.slice.index.Slice.index_mut U32 (core.ops.range.Range Usize)
- (core.slice.index.Range.coresliceindexSliceIndexInst U32) x
+ (core.slice.index.SliceIndexRangeUsizeSliceTInst U32) x
{ start := y, end_ := z }
/- [array::slice_subslice_mut_]: backward function 0 -/
@@ -107,7 +107,7 @@ def slice_subslice_mut__back
Result (Slice U32)
:=
core.slice.index.Slice.index_mut_back U32 (core.ops.range.Range Usize)
- (core.slice.index.Range.coresliceindexSliceIndexInst U32) x
+ (core.slice.index.SliceIndexRangeUsizeSliceTInst U32) x
{ start := y, end_ := z } ret0
/- [array::array_to_slice_shared_]: forward function -/
@@ -127,16 +127,16 @@ def array_to_slice_mut__back
def array_subslice_shared_
(x : Array U32 32#usize) (y : Usize) (z : Usize) : Result (Slice U32) :=
core.array.Array.index U32 (core.ops.range.Range Usize) 32#usize
- (core.slice.index.Slice.coreopsindexIndexInst U32 (core.ops.range.Range
- Usize) (core.slice.index.Range.coresliceindexSliceIndexInst U32)) x
+ (core.ops.index.IndexSliceTIInst U32 (core.ops.range.Range Usize)
+ (core.slice.index.SliceIndexRangeUsizeSliceTInst U32)) x
{ start := y, end_ := z }
/- [array::array_subslice_mut_]: forward function -/
def array_subslice_mut_
(x : Array U32 32#usize) (y : Usize) (z : Usize) : Result (Slice U32) :=
core.array.Array.index_mut U32 (core.ops.range.Range Usize) 32#usize
- (core.slice.index.Slice.coreopsindexIndexMutInst U32 (core.ops.range.Range
- Usize) (core.slice.index.Range.coresliceindexSliceIndexInst U32)) x
+ (core.ops.index.IndexMutSliceTIInst U32 (core.ops.range.Range Usize)
+ (core.slice.index.SliceIndexRangeUsizeSliceTInst U32)) x
{ start := y, end_ := z }
/- [array::array_subslice_mut_]: backward function 0 -/
@@ -145,8 +145,8 @@ def array_subslice_mut__back
Result (Array U32 32#usize)
:=
core.array.Array.index_mut_back U32 (core.ops.range.Range Usize) 32#usize
- (core.slice.index.Slice.coreopsindexIndexMutInst U32 (core.ops.range.Range
- Usize) (core.slice.index.Range.coresliceindexSliceIndexInst U32)) x
+ (core.ops.index.IndexMutSliceTIInst U32 (core.ops.range.Range Usize)
+ (core.slice.index.SliceIndexRangeUsizeSliceTInst U32)) x
{ start := y, end_ := z } ret0
/- [array::index_slice_0]: forward function -/
@@ -288,17 +288,15 @@ def range_all : Result Unit :=
do
let s ←
core.array.Array.index_mut U32 (core.ops.range.Range Usize) 4#usize
- (core.slice.index.Slice.coreopsindexIndexMutInst U32
- (core.ops.range.Range Usize)
- (core.slice.index.Range.coresliceindexSliceIndexInst U32))
+ (core.ops.index.IndexMutSliceTIInst U32 (core.ops.range.Range Usize)
+ (core.slice.index.SliceIndexRangeUsizeSliceTInst U32))
(Array.make U32 4#usize [ 0#u32, 0#u32, 0#u32, 0#u32 ])
{ start := 1#usize, end_ := 3#usize }
let s0 ← update_mut_slice s
let _ ←
core.array.Array.index_mut_back U32 (core.ops.range.Range Usize) 4#usize
- (core.slice.index.Slice.coreopsindexIndexMutInst U32
- (core.ops.range.Range Usize)
- (core.slice.index.Range.coresliceindexSliceIndexInst U32))
+ (core.ops.index.IndexMutSliceTIInst U32 (core.ops.range.Range Usize)
+ (core.slice.index.SliceIndexRangeUsizeSliceTInst U32))
(Array.make U32 4#usize [ 0#u32, 0#u32, 0#u32, 0#u32 ])
{ start := 1#usize, end_ := 3#usize } s0
Result.ret ()
@@ -392,8 +390,8 @@ def f2 (i : U32) : Result Unit :=
/- [array::f4]: forward function -/
def f4 (x : Array U32 32#usize) (y : Usize) (z : Usize) : Result (Slice U32) :=
core.array.Array.index U32 (core.ops.range.Range Usize) 32#usize
- (core.slice.index.Slice.coreopsindexIndexInst U32 (core.ops.range.Range
- Usize) (core.slice.index.Range.coresliceindexSliceIndexInst U32)) x
+ (core.ops.index.IndexSliceTIInst U32 (core.ops.range.Range Usize)
+ (core.slice.index.SliceIndexRangeUsizeSliceTInst U32)) x
{ start := y, end_ := z }
/- [array::f3]: forward function -/
diff --git a/tests/lean/Constants.lean b/tests/lean/Constants.lean
index bd3a07b7..62e45d76 100644
--- a/tests/lean/Constants.lean
+++ b/tests/lean/Constants.lean
@@ -58,7 +58,7 @@ def p3_c : Pair U32 U32 := eval_global p3_body (by simp)
structure Wrap (T : Type) where
value : T
-/- [constants::Wrap::{0}::new]: forward function -/
+/- [constants::{constants::Wrap<T>}::new]: forward function -/
def Wrap.new (T : Type) (value : T) : Result (Wrap T) :=
Result.ret { value := value }
diff --git a/tests/lean/External/FunsExternal_Template.lean b/tests/lean/External/FunsExternal_Template.lean
index c8bc397f..0fccef86 100644
--- a/tests/lean/External/FunsExternal_Template.lean
+++ b/tests/lean/External/FunsExternal_Template.lean
@@ -17,11 +17,11 @@ axiom core.mem.swap_back0
axiom core.mem.swap_back1
(T : Type) : T → T → State → State → Result (State × T)
-/- [core::num::nonzero::NonZeroU32::{14}::new]: forward function -/
+/- [core::num::nonzero::{core::num::nonzero::NonZeroU32#14}::new]: forward function -/
axiom core.num.nonzero.NonZeroU32.new
: U32 → State → Result (State × (Option core.num.nonzero.NonZeroU32))
-/- [core::option::Option::{0}::unwrap]: forward function -/
+/- [core::option::{core::option::Option<T>}::unwrap]: forward function -/
axiom core.option.Option.unwrap
(T : Type) : Option T → State → Result (State × T)
diff --git a/tests/lean/Hashmap/Funs.lean b/tests/lean/Hashmap/Funs.lean
index 8464c432..a1cd435e 100644
--- a/tests/lean/Hashmap/Funs.lean
+++ b/tests/lean/Hashmap/Funs.lean
@@ -10,7 +10,7 @@ namespace hashmap
def hash_key (k : Usize) : Result Usize :=
Result.ret k
-/- [hashmap::HashMap::{0}::allocate_slots]: loop 0: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::allocate_slots]: loop 0: forward function -/
divergent def HashMap.allocate_slots_loop
(T : Type) (slots : alloc.vec.Vec (List T)) (n : Usize) :
Result (alloc.vec.Vec (List T))
@@ -23,14 +23,14 @@ divergent def HashMap.allocate_slots_loop
HashMap.allocate_slots_loop T slots0 n0
else Result.ret slots
-/- [hashmap::HashMap::{0}::allocate_slots]: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::allocate_slots]: forward function -/
def HashMap.allocate_slots
(T : Type) (slots : alloc.vec.Vec (List T)) (n : Usize) :
Result (alloc.vec.Vec (List T))
:=
HashMap.allocate_slots_loop T slots n
-/- [hashmap::HashMap::{0}::new_with_capacity]: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::new_with_capacity]: forward function -/
def HashMap.new_with_capacity
(T : Type) (capacity : Usize) (max_load_dividend : Usize)
(max_load_divisor : Usize) :
@@ -49,11 +49,11 @@ def HashMap.new_with_capacity
slots := slots
}
-/- [hashmap::HashMap::{0}::new]: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::new]: forward function -/
def HashMap.new (T : Type) : Result (HashMap T) :=
HashMap.new_with_capacity T 32#usize 4#usize 5#usize
-/- [hashmap::HashMap::{0}::clear]: loop 0: merged forward/backward function
+/- [hashmap::{hashmap::HashMap<T>}::clear]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
divergent def HashMap.clear_loop
(T : Type) (slots : alloc.vec.Vec (List T)) (i : Usize) :
@@ -66,23 +66,23 @@ divergent def HashMap.clear_loop
let i1 ← i + 1#usize
let slots0 ←
alloc.vec.Vec.index_mut_back (List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List T)) slots
- i List.Nil
+ (core.slice.index.SliceIndexUsizeSliceTInst (List T)) slots i
+ List.Nil
HashMap.clear_loop T slots0 i1
else Result.ret slots
-/- [hashmap::HashMap::{0}::clear]: merged forward/backward function
+/- [hashmap::{hashmap::HashMap<T>}::clear]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
def HashMap.clear (T : Type) (self : HashMap T) : Result (HashMap T) :=
do
let v ← HashMap.clear_loop T self.slots 0#usize
Result.ret { self with num_entries := 0#usize, slots := v }
-/- [hashmap::HashMap::{0}::len]: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::len]: forward function -/
def HashMap.len (T : Type) (self : HashMap T) : Result Usize :=
Result.ret self.num_entries
-/- [hashmap::HashMap::{0}::insert_in_list]: loop 0: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::insert_in_list]: loop 0: forward function -/
divergent def HashMap.insert_in_list_loop
(T : Type) (key : Usize) (value : T) (ls : List T) : Result Bool :=
match ls with
@@ -92,12 +92,12 @@ divergent def HashMap.insert_in_list_loop
else HashMap.insert_in_list_loop T key value tl
| List.Nil => Result.ret true
-/- [hashmap::HashMap::{0}::insert_in_list]: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::insert_in_list]: forward function -/
def HashMap.insert_in_list
(T : Type) (key : Usize) (value : T) (ls : List T) : Result Bool :=
HashMap.insert_in_list_loop T key value ls
-/- [hashmap::HashMap::{0}::insert_in_list]: loop 0: backward function 0 -/
+/- [hashmap::{hashmap::HashMap<T>}::insert_in_list]: loop 0: backward function 0 -/
divergent def HashMap.insert_in_list_loop_back
(T : Type) (key : Usize) (value : T) (ls : List T) : Result (List T) :=
match ls with
@@ -111,12 +111,12 @@ divergent def HashMap.insert_in_list_loop_back
| List.Nil => let l := List.Nil
Result.ret (List.Cons key value l)
-/- [hashmap::HashMap::{0}::insert_in_list]: backward function 0 -/
+/- [hashmap::{hashmap::HashMap<T>}::insert_in_list]: backward function 0 -/
def HashMap.insert_in_list_back
(T : Type) (key : Usize) (value : T) (ls : List T) : Result (List T) :=
HashMap.insert_in_list_loop_back T key value ls
-/- [hashmap::HashMap::{0}::insert_no_resize]: merged forward/backward function
+/- [hashmap::{hashmap::HashMap<T>}::insert_no_resize]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
def HashMap.insert_no_resize
(T : Type) (self : HashMap T) (key : Usize) (value : T) :
@@ -128,8 +128,8 @@ def HashMap.insert_no_resize
let hash_mod ← hash % i
let l ←
alloc.vec.Vec.index_mut (List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List T))
- self.slots hash_mod
+ (core.slice.index.SliceIndexUsizeSliceTInst (List T)) self.slots
+ hash_mod
let inserted ← HashMap.insert_in_list T key value l
if inserted
then
@@ -138,19 +138,19 @@ def HashMap.insert_no_resize
let l0 ← HashMap.insert_in_list_back T key value l
let v ←
alloc.vec.Vec.index_mut_back (List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List T))
- self.slots hash_mod l0
+ (core.slice.index.SliceIndexUsizeSliceTInst (List T)) self.slots
+ hash_mod l0
Result.ret { self with num_entries := i0, slots := v }
else
do
let l0 ← HashMap.insert_in_list_back T key value l
let v ←
alloc.vec.Vec.index_mut_back (List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List T))
- self.slots hash_mod l0
+ (core.slice.index.SliceIndexUsizeSliceTInst (List T)) self.slots
+ hash_mod l0
Result.ret { self with slots := v }
-/- [hashmap::HashMap::{0}::move_elements_from_list]: loop 0: merged forward/backward function
+/- [hashmap::{hashmap::HashMap<T>}::move_elements_from_list]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
divergent def HashMap.move_elements_from_list_loop
(T : Type) (ntable : HashMap T) (ls : List T) : Result (HashMap T) :=
@@ -161,13 +161,13 @@ divergent def HashMap.move_elements_from_list_loop
HashMap.move_elements_from_list_loop T ntable0 tl
| List.Nil => Result.ret ntable
-/- [hashmap::HashMap::{0}::move_elements_from_list]: merged forward/backward function
+/- [hashmap::{hashmap::HashMap<T>}::move_elements_from_list]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
def HashMap.move_elements_from_list
(T : Type) (ntable : HashMap T) (ls : List T) : Result (HashMap T) :=
HashMap.move_elements_from_list_loop T ntable ls
-/- [hashmap::HashMap::{0}::move_elements]: loop 0: merged forward/backward function
+/- [hashmap::{hashmap::HashMap<T>}::move_elements]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
divergent def HashMap.move_elements_loop
(T : Type) (ntable : HashMap T) (slots : alloc.vec.Vec (List T)) (i : Usize)
@@ -180,20 +180,18 @@ divergent def HashMap.move_elements_loop
do
let l ←
alloc.vec.Vec.index_mut (List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List T)) slots
- i
+ (core.slice.index.SliceIndexUsizeSliceTInst (List T)) slots i
let ls := core.mem.replace (List T) l List.Nil
let ntable0 ← HashMap.move_elements_from_list T ntable ls
let i1 ← i + 1#usize
let l0 := core.mem.replace_back (List T) l List.Nil
let slots0 ←
alloc.vec.Vec.index_mut_back (List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List T)) slots
- i l0
+ (core.slice.index.SliceIndexUsizeSliceTInst (List T)) slots i l0
HashMap.move_elements_loop T ntable0 slots0 i1
else Result.ret (ntable, slots)
-/- [hashmap::HashMap::{0}::move_elements]: merged forward/backward function
+/- [hashmap::{hashmap::HashMap<T>}::move_elements]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
def HashMap.move_elements
(T : Type) (ntable : HashMap T) (slots : alloc.vec.Vec (List T)) (i : Usize)
@@ -202,7 +200,7 @@ def HashMap.move_elements
:=
HashMap.move_elements_loop T ntable slots i
-/- [hashmap::HashMap::{0}::try_resize]: merged forward/backward function
+/- [hashmap::{hashmap::HashMap<T>}::try_resize]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
def HashMap.try_resize (T : Type) (self : HashMap T) : Result (HashMap T) :=
do
@@ -225,7 +223,7 @@ def HashMap.try_resize (T : Type) (self : HashMap T) : Result (HashMap T) :=
}
else Result.ret { self with max_load_factor := (i, i0) }
-/- [hashmap::HashMap::{0}::insert]: merged forward/backward function
+/- [hashmap::{hashmap::HashMap<T>}::insert]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
def HashMap.insert
(T : Type) (self : HashMap T) (key : Usize) (value : T) :
@@ -238,7 +236,7 @@ def HashMap.insert
then HashMap.try_resize T self0
else Result.ret self0
-/- [hashmap::HashMap::{0}::contains_key_in_list]: loop 0: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::contains_key_in_list]: loop 0: forward function -/
divergent def HashMap.contains_key_in_list_loop
(T : Type) (key : Usize) (ls : List T) : Result Bool :=
match ls with
@@ -248,12 +246,12 @@ divergent def HashMap.contains_key_in_list_loop
else HashMap.contains_key_in_list_loop T key tl
| List.Nil => Result.ret false
-/- [hashmap::HashMap::{0}::contains_key_in_list]: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::contains_key_in_list]: forward function -/
def HashMap.contains_key_in_list
(T : Type) (key : Usize) (ls : List T) : Result Bool :=
HashMap.contains_key_in_list_loop T key ls
-/- [hashmap::HashMap::{0}::contains_key]: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::contains_key]: forward function -/
def HashMap.contains_key
(T : Type) (self : HashMap T) (key : Usize) : Result Bool :=
do
@@ -262,11 +260,11 @@ def HashMap.contains_key
let hash_mod ← hash % i
let l ←
alloc.vec.Vec.index (List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List T))
- self.slots hash_mod
+ (core.slice.index.SliceIndexUsizeSliceTInst (List T)) self.slots
+ hash_mod
HashMap.contains_key_in_list T key l
-/- [hashmap::HashMap::{0}::get_in_list]: loop 0: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::get_in_list]: loop 0: forward function -/
divergent def HashMap.get_in_list_loop
(T : Type) (key : Usize) (ls : List T) : Result T :=
match ls with
@@ -276,11 +274,11 @@ divergent def HashMap.get_in_list_loop
else HashMap.get_in_list_loop T key tl
| List.Nil => Result.fail Error.panic
-/- [hashmap::HashMap::{0}::get_in_list]: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::get_in_list]: forward function -/
def HashMap.get_in_list (T : Type) (key : Usize) (ls : List T) : Result T :=
HashMap.get_in_list_loop T key ls
-/- [hashmap::HashMap::{0}::get]: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::get]: forward function -/
def HashMap.get (T : Type) (self : HashMap T) (key : Usize) : Result T :=
do
let hash ← hash_key key
@@ -288,11 +286,11 @@ def HashMap.get (T : Type) (self : HashMap T) (key : Usize) : Result T :=
let hash_mod ← hash % i
let l ←
alloc.vec.Vec.index (List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List T))
- self.slots hash_mod
+ (core.slice.index.SliceIndexUsizeSliceTInst (List T)) self.slots
+ hash_mod
HashMap.get_in_list T key l
-/- [hashmap::HashMap::{0}::get_mut_in_list]: loop 0: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::get_mut_in_list]: loop 0: forward function -/
divergent def HashMap.get_mut_in_list_loop
(T : Type) (ls : List T) (key : Usize) : Result T :=
match ls with
@@ -302,12 +300,12 @@ divergent def HashMap.get_mut_in_list_loop
else HashMap.get_mut_in_list_loop T tl key
| List.Nil => Result.fail Error.panic
-/- [hashmap::HashMap::{0}::get_mut_in_list]: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::get_mut_in_list]: forward function -/
def HashMap.get_mut_in_list
(T : Type) (ls : List T) (key : Usize) : Result T :=
HashMap.get_mut_in_list_loop T ls key
-/- [hashmap::HashMap::{0}::get_mut_in_list]: loop 0: backward function 0 -/
+/- [hashmap::{hashmap::HashMap<T>}::get_mut_in_list]: loop 0: backward function 0 -/
divergent def HashMap.get_mut_in_list_loop_back
(T : Type) (ls : List T) (key : Usize) (ret0 : T) : Result (List T) :=
match ls with
@@ -320,12 +318,12 @@ divergent def HashMap.get_mut_in_list_loop_back
Result.ret (List.Cons ckey cvalue tl0)
| List.Nil => Result.fail Error.panic
-/- [hashmap::HashMap::{0}::get_mut_in_list]: backward function 0 -/
+/- [hashmap::{hashmap::HashMap<T>}::get_mut_in_list]: backward function 0 -/
def HashMap.get_mut_in_list_back
(T : Type) (ls : List T) (key : Usize) (ret0 : T) : Result (List T) :=
HashMap.get_mut_in_list_loop_back T ls key ret0
-/- [hashmap::HashMap::{0}::get_mut]: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::get_mut]: forward function -/
def HashMap.get_mut (T : Type) (self : HashMap T) (key : Usize) : Result T :=
do
let hash ← hash_key key
@@ -333,11 +331,11 @@ def HashMap.get_mut (T : Type) (self : HashMap T) (key : Usize) : Result T :=
let hash_mod ← hash % i
let l ←
alloc.vec.Vec.index_mut (List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List T))
- self.slots hash_mod
+ (core.slice.index.SliceIndexUsizeSliceTInst (List T)) self.slots
+ hash_mod
HashMap.get_mut_in_list T l key
-/- [hashmap::HashMap::{0}::get_mut]: backward function 0 -/
+/- [hashmap::{hashmap::HashMap<T>}::get_mut]: backward function 0 -/
def HashMap.get_mut_back
(T : Type) (self : HashMap T) (key : Usize) (ret0 : T) :
Result (HashMap T)
@@ -348,16 +346,16 @@ def HashMap.get_mut_back
let hash_mod ← hash % i
let l ←
alloc.vec.Vec.index_mut (List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List T))
- self.slots hash_mod
+ (core.slice.index.SliceIndexUsizeSliceTInst (List T)) self.slots
+ hash_mod
let l0 ← HashMap.get_mut_in_list_back T l key ret0
let v ←
alloc.vec.Vec.index_mut_back (List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List T))
- self.slots hash_mod l0
+ (core.slice.index.SliceIndexUsizeSliceTInst (List T)) self.slots
+ hash_mod l0
Result.ret { self with slots := v }
-/- [hashmap::HashMap::{0}::remove_from_list]: loop 0: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::remove_from_list]: loop 0: forward function -/
divergent def HashMap.remove_from_list_loop
(T : Type) (key : Usize) (ls : List T) : Result (Option T) :=
match ls with
@@ -371,12 +369,12 @@ divergent def HashMap.remove_from_list_loop
else HashMap.remove_from_list_loop T key tl
| List.Nil => Result.ret none
-/- [hashmap::HashMap::{0}::remove_from_list]: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::remove_from_list]: forward function -/
def HashMap.remove_from_list
(T : Type) (key : Usize) (ls : List T) : Result (Option T) :=
HashMap.remove_from_list_loop T key ls
-/- [hashmap::HashMap::{0}::remove_from_list]: loop 0: backward function 1 -/
+/- [hashmap::{hashmap::HashMap<T>}::remove_from_list]: loop 0: backward function 1 -/
divergent def HashMap.remove_from_list_loop_back
(T : Type) (key : Usize) (ls : List T) : Result (List T) :=
match ls with
@@ -393,12 +391,12 @@ divergent def HashMap.remove_from_list_loop_back
Result.ret (List.Cons ckey t tl0)
| List.Nil => Result.ret List.Nil
-/- [hashmap::HashMap::{0}::remove_from_list]: backward function 1 -/
+/- [hashmap::{hashmap::HashMap<T>}::remove_from_list]: backward function 1 -/
def HashMap.remove_from_list_back
(T : Type) (key : Usize) (ls : List T) : Result (List T) :=
HashMap.remove_from_list_loop_back T key ls
-/- [hashmap::HashMap::{0}::remove]: forward function -/
+/- [hashmap::{hashmap::HashMap<T>}::remove]: forward function -/
def HashMap.remove
(T : Type) (self : HashMap T) (key : Usize) : Result (Option T) :=
do
@@ -407,8 +405,8 @@ def HashMap.remove
let hash_mod ← hash % i
let l ←
alloc.vec.Vec.index_mut (List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List T))
- self.slots hash_mod
+ (core.slice.index.SliceIndexUsizeSliceTInst (List T)) self.slots
+ hash_mod
let x ← HashMap.remove_from_list T key l
match x with
| none => Result.ret none
@@ -416,7 +414,7 @@ def HashMap.remove
let _ ← self.num_entries - 1#usize
Result.ret (some x0)
-/- [hashmap::HashMap::{0}::remove]: backward function 0 -/
+/- [hashmap::{hashmap::HashMap<T>}::remove]: backward function 0 -/
def HashMap.remove_back
(T : Type) (self : HashMap T) (key : Usize) : Result (HashMap T) :=
do
@@ -425,8 +423,8 @@ def HashMap.remove_back
let hash_mod ← hash % i
let l ←
alloc.vec.Vec.index_mut (List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List T))
- self.slots hash_mod
+ (core.slice.index.SliceIndexUsizeSliceTInst (List T)) self.slots
+ hash_mod
let x ← HashMap.remove_from_list T key l
match x with
| none =>
@@ -434,8 +432,8 @@ def HashMap.remove_back
let l0 ← HashMap.remove_from_list_back T key l
let v ←
alloc.vec.Vec.index_mut_back (List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List T))
- self.slots hash_mod l0
+ (core.slice.index.SliceIndexUsizeSliceTInst (List T)) self.slots
+ hash_mod l0
Result.ret { self with slots := v }
| some x0 =>
do
@@ -443,8 +441,8 @@ def HashMap.remove_back
let l0 ← HashMap.remove_from_list_back T key l
let v ←
alloc.vec.Vec.index_mut_back (List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List T))
- self.slots hash_mod l0
+ (core.slice.index.SliceIndexUsizeSliceTInst (List T)) self.slots
+ hash_mod l0
Result.ret { self with num_entries := i0, slots := v }
/- [hashmap::test1]: forward function -/
diff --git a/tests/lean/HashmapMain/Funs.lean b/tests/lean/HashmapMain/Funs.lean
index 74fa8653..5e05a399 100644
--- a/tests/lean/HashmapMain/Funs.lean
+++ b/tests/lean/HashmapMain/Funs.lean
@@ -11,7 +11,7 @@ namespace hashmap_main
def hashmap.hash_key (k : Usize) : Result Usize :=
Result.ret k
-/- [hashmap_main::hashmap::HashMap::{0}::allocate_slots]: loop 0: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::allocate_slots]: loop 0: forward function -/
divergent def hashmap.HashMap.allocate_slots_loop
(T : Type) (slots : alloc.vec.Vec (hashmap.List T)) (n : Usize) :
Result (alloc.vec.Vec (hashmap.List T))
@@ -24,14 +24,14 @@ divergent def hashmap.HashMap.allocate_slots_loop
hashmap.HashMap.allocate_slots_loop T slots0 n0
else Result.ret slots
-/- [hashmap_main::hashmap::HashMap::{0}::allocate_slots]: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::allocate_slots]: forward function -/
def hashmap.HashMap.allocate_slots
(T : Type) (slots : alloc.vec.Vec (hashmap.List T)) (n : Usize) :
Result (alloc.vec.Vec (hashmap.List T))
:=
hashmap.HashMap.allocate_slots_loop T slots n
-/- [hashmap_main::hashmap::HashMap::{0}::new_with_capacity]: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::new_with_capacity]: forward function -/
def hashmap.HashMap.new_with_capacity
(T : Type) (capacity : Usize) (max_load_dividend : Usize)
(max_load_divisor : Usize) :
@@ -50,11 +50,11 @@ def hashmap.HashMap.new_with_capacity
slots := slots
}
-/- [hashmap_main::hashmap::HashMap::{0}::new]: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::new]: forward function -/
def hashmap.HashMap.new (T : Type) : Result (hashmap.HashMap T) :=
hashmap.HashMap.new_with_capacity T 32#usize 4#usize 5#usize
-/- [hashmap_main::hashmap::HashMap::{0}::clear]: loop 0: merged forward/backward function
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::clear]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
divergent def hashmap.HashMap.clear_loop
(T : Type) (slots : alloc.vec.Vec (hashmap.List T)) (i : Usize) :
@@ -67,12 +67,12 @@ divergent def hashmap.HashMap.clear_loop
let i1 ← i + 1#usize
let slots0 ←
alloc.vec.Vec.index_mut_back (hashmap.List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (hashmap.List
- T)) slots i hashmap.List.Nil
+ (core.slice.index.SliceIndexUsizeSliceTInst (hashmap.List T)) slots i
+ hashmap.List.Nil
hashmap.HashMap.clear_loop T slots0 i1
else Result.ret slots
-/- [hashmap_main::hashmap::HashMap::{0}::clear]: merged forward/backward function
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::clear]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
def hashmap.HashMap.clear
(T : Type) (self : hashmap.HashMap T) : Result (hashmap.HashMap T) :=
@@ -80,11 +80,11 @@ def hashmap.HashMap.clear
let v ← hashmap.HashMap.clear_loop T self.slots 0#usize
Result.ret { self with num_entries := 0#usize, slots := v }
-/- [hashmap_main::hashmap::HashMap::{0}::len]: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::len]: forward function -/
def hashmap.HashMap.len (T : Type) (self : hashmap.HashMap T) : Result Usize :=
Result.ret self.num_entries
-/- [hashmap_main::hashmap::HashMap::{0}::insert_in_list]: loop 0: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert_in_list]: loop 0: forward function -/
divergent def hashmap.HashMap.insert_in_list_loop
(T : Type) (key : Usize) (value : T) (ls : hashmap.List T) : Result Bool :=
match ls with
@@ -94,12 +94,12 @@ divergent def hashmap.HashMap.insert_in_list_loop
else hashmap.HashMap.insert_in_list_loop T key value tl
| hashmap.List.Nil => Result.ret true
-/- [hashmap_main::hashmap::HashMap::{0}::insert_in_list]: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert_in_list]: forward function -/
def hashmap.HashMap.insert_in_list
(T : Type) (key : Usize) (value : T) (ls : hashmap.List T) : Result Bool :=
hashmap.HashMap.insert_in_list_loop T key value ls
-/- [hashmap_main::hashmap::HashMap::{0}::insert_in_list]: loop 0: backward function 0 -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert_in_list]: loop 0: backward function 0 -/
divergent def hashmap.HashMap.insert_in_list_loop_back
(T : Type) (key : Usize) (value : T) (ls : hashmap.List T) :
Result (hashmap.List T)
@@ -116,14 +116,14 @@ divergent def hashmap.HashMap.insert_in_list_loop_back
let l := hashmap.List.Nil
Result.ret (hashmap.List.Cons key value l)
-/- [hashmap_main::hashmap::HashMap::{0}::insert_in_list]: backward function 0 -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert_in_list]: backward function 0 -/
def hashmap.HashMap.insert_in_list_back
(T : Type) (key : Usize) (value : T) (ls : hashmap.List T) :
Result (hashmap.List T)
:=
hashmap.HashMap.insert_in_list_loop_back T key value ls
-/- [hashmap_main::hashmap::HashMap::{0}::insert_no_resize]: merged forward/backward function
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert_no_resize]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
def hashmap.HashMap.insert_no_resize
(T : Type) (self : hashmap.HashMap T) (key : Usize) (value : T) :
@@ -135,7 +135,7 @@ def hashmap.HashMap.insert_no_resize
let hash_mod ← hash % i
let l ←
alloc.vec.Vec.index_mut (hashmap.List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (hashmap.List T))
+ (core.slice.index.SliceIndexUsizeSliceTInst (hashmap.List T))
self.slots hash_mod
let inserted ← hashmap.HashMap.insert_in_list T key value l
if inserted
@@ -145,19 +145,19 @@ def hashmap.HashMap.insert_no_resize
let l0 ← hashmap.HashMap.insert_in_list_back T key value l
let v ←
alloc.vec.Vec.index_mut_back (hashmap.List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (hashmap.List
- T)) self.slots hash_mod l0
+ (core.slice.index.SliceIndexUsizeSliceTInst (hashmap.List T))
+ self.slots hash_mod l0
Result.ret { self with num_entries := i0, slots := v }
else
do
let l0 ← hashmap.HashMap.insert_in_list_back T key value l
let v ←
alloc.vec.Vec.index_mut_back (hashmap.List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (hashmap.List
- T)) self.slots hash_mod l0
+ (core.slice.index.SliceIndexUsizeSliceTInst (hashmap.List T))
+ self.slots hash_mod l0
Result.ret { self with slots := v }
-/- [hashmap_main::hashmap::HashMap::{0}::move_elements_from_list]: loop 0: merged forward/backward function
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::move_elements_from_list]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
divergent def hashmap.HashMap.move_elements_from_list_loop
(T : Type) (ntable : hashmap.HashMap T) (ls : hashmap.List T) :
@@ -170,7 +170,7 @@ divergent def hashmap.HashMap.move_elements_from_list_loop
hashmap.HashMap.move_elements_from_list_loop T ntable0 tl
| hashmap.List.Nil => Result.ret ntable
-/- [hashmap_main::hashmap::HashMap::{0}::move_elements_from_list]: merged forward/backward function
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::move_elements_from_list]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
def hashmap.HashMap.move_elements_from_list
(T : Type) (ntable : hashmap.HashMap T) (ls : hashmap.List T) :
@@ -178,7 +178,7 @@ def hashmap.HashMap.move_elements_from_list
:=
hashmap.HashMap.move_elements_from_list_loop T ntable ls
-/- [hashmap_main::hashmap::HashMap::{0}::move_elements]: loop 0: merged forward/backward function
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::move_elements]: loop 0: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
divergent def hashmap.HashMap.move_elements_loop
(T : Type) (ntable : hashmap.HashMap T)
@@ -191,20 +191,19 @@ divergent def hashmap.HashMap.move_elements_loop
do
let l ←
alloc.vec.Vec.index_mut (hashmap.List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (hashmap.List
- T)) slots i
+ (core.slice.index.SliceIndexUsizeSliceTInst (hashmap.List T)) slots i
let ls := core.mem.replace (hashmap.List T) l hashmap.List.Nil
let ntable0 ← hashmap.HashMap.move_elements_from_list T ntable ls
let i1 ← i + 1#usize
let l0 := core.mem.replace_back (hashmap.List T) l hashmap.List.Nil
let slots0 ←
alloc.vec.Vec.index_mut_back (hashmap.List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (hashmap.List
- T)) slots i l0
+ (core.slice.index.SliceIndexUsizeSliceTInst (hashmap.List T)) slots i
+ l0
hashmap.HashMap.move_elements_loop T ntable0 slots0 i1
else Result.ret (ntable, slots)
-/- [hashmap_main::hashmap::HashMap::{0}::move_elements]: merged forward/backward function
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::move_elements]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
def hashmap.HashMap.move_elements
(T : Type) (ntable : hashmap.HashMap T)
@@ -213,7 +212,7 @@ def hashmap.HashMap.move_elements
:=
hashmap.HashMap.move_elements_loop T ntable slots i
-/- [hashmap_main::hashmap::HashMap::{0}::try_resize]: merged forward/backward function
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::try_resize]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
def hashmap.HashMap.try_resize
(T : Type) (self : hashmap.HashMap T) : Result (hashmap.HashMap T) :=
@@ -238,7 +237,7 @@ def hashmap.HashMap.try_resize
}
else Result.ret { self with max_load_factor := (i, i0) }
-/- [hashmap_main::hashmap::HashMap::{0}::insert]: merged forward/backward function
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::insert]: merged forward/backward function
(there is a single backward function, and the forward function returns ()) -/
def hashmap.HashMap.insert
(T : Type) (self : hashmap.HashMap T) (key : Usize) (value : T) :
@@ -251,7 +250,7 @@ def hashmap.HashMap.insert
then hashmap.HashMap.try_resize T self0
else Result.ret self0
-/- [hashmap_main::hashmap::HashMap::{0}::contains_key_in_list]: loop 0: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::contains_key_in_list]: loop 0: forward function -/
divergent def hashmap.HashMap.contains_key_in_list_loop
(T : Type) (key : Usize) (ls : hashmap.List T) : Result Bool :=
match ls with
@@ -261,12 +260,12 @@ divergent def hashmap.HashMap.contains_key_in_list_loop
else hashmap.HashMap.contains_key_in_list_loop T key tl
| hashmap.List.Nil => Result.ret false
-/- [hashmap_main::hashmap::HashMap::{0}::contains_key_in_list]: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::contains_key_in_list]: forward function -/
def hashmap.HashMap.contains_key_in_list
(T : Type) (key : Usize) (ls : hashmap.List T) : Result Bool :=
hashmap.HashMap.contains_key_in_list_loop T key ls
-/- [hashmap_main::hashmap::HashMap::{0}::contains_key]: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::contains_key]: forward function -/
def hashmap.HashMap.contains_key
(T : Type) (self : hashmap.HashMap T) (key : Usize) : Result Bool :=
do
@@ -275,11 +274,11 @@ def hashmap.HashMap.contains_key
let hash_mod ← hash % i
let l ←
alloc.vec.Vec.index (hashmap.List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (hashmap.List T))
+ (core.slice.index.SliceIndexUsizeSliceTInst (hashmap.List T))
self.slots hash_mod
hashmap.HashMap.contains_key_in_list T key l
-/- [hashmap_main::hashmap::HashMap::{0}::get_in_list]: loop 0: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_in_list]: loop 0: forward function -/
divergent def hashmap.HashMap.get_in_list_loop
(T : Type) (key : Usize) (ls : hashmap.List T) : Result T :=
match ls with
@@ -289,12 +288,12 @@ divergent def hashmap.HashMap.get_in_list_loop
else hashmap.HashMap.get_in_list_loop T key tl
| hashmap.List.Nil => Result.fail Error.panic
-/- [hashmap_main::hashmap::HashMap::{0}::get_in_list]: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_in_list]: forward function -/
def hashmap.HashMap.get_in_list
(T : Type) (key : Usize) (ls : hashmap.List T) : Result T :=
hashmap.HashMap.get_in_list_loop T key ls
-/- [hashmap_main::hashmap::HashMap::{0}::get]: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get]: forward function -/
def hashmap.HashMap.get
(T : Type) (self : hashmap.HashMap T) (key : Usize) : Result T :=
do
@@ -303,11 +302,11 @@ def hashmap.HashMap.get
let hash_mod ← hash % i
let l ←
alloc.vec.Vec.index (hashmap.List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (hashmap.List T))
+ (core.slice.index.SliceIndexUsizeSliceTInst (hashmap.List T))
self.slots hash_mod
hashmap.HashMap.get_in_list T key l
-/- [hashmap_main::hashmap::HashMap::{0}::get_mut_in_list]: loop 0: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut_in_list]: loop 0: forward function -/
divergent def hashmap.HashMap.get_mut_in_list_loop
(T : Type) (ls : hashmap.List T) (key : Usize) : Result T :=
match ls with
@@ -317,12 +316,12 @@ divergent def hashmap.HashMap.get_mut_in_list_loop
else hashmap.HashMap.get_mut_in_list_loop T tl key
| hashmap.List.Nil => Result.fail Error.panic
-/- [hashmap_main::hashmap::HashMap::{0}::get_mut_in_list]: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut_in_list]: forward function -/
def hashmap.HashMap.get_mut_in_list
(T : Type) (ls : hashmap.List T) (key : Usize) : Result T :=
hashmap.HashMap.get_mut_in_list_loop T ls key
-/- [hashmap_main::hashmap::HashMap::{0}::get_mut_in_list]: loop 0: backward function 0 -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut_in_list]: loop 0: backward function 0 -/
divergent def hashmap.HashMap.get_mut_in_list_loop_back
(T : Type) (ls : hashmap.List T) (key : Usize) (ret0 : T) :
Result (hashmap.List T)
@@ -337,14 +336,14 @@ divergent def hashmap.HashMap.get_mut_in_list_loop_back
Result.ret (hashmap.List.Cons ckey cvalue tl0)
| hashmap.List.Nil => Result.fail Error.panic
-/- [hashmap_main::hashmap::HashMap::{0}::get_mut_in_list]: backward function 0 -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut_in_list]: backward function 0 -/
def hashmap.HashMap.get_mut_in_list_back
(T : Type) (ls : hashmap.List T) (key : Usize) (ret0 : T) :
Result (hashmap.List T)
:=
hashmap.HashMap.get_mut_in_list_loop_back T ls key ret0
-/- [hashmap_main::hashmap::HashMap::{0}::get_mut]: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut]: forward function -/
def hashmap.HashMap.get_mut
(T : Type) (self : hashmap.HashMap T) (key : Usize) : Result T :=
do
@@ -353,11 +352,11 @@ def hashmap.HashMap.get_mut
let hash_mod ← hash % i
let l ←
alloc.vec.Vec.index_mut (hashmap.List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (hashmap.List T))
+ (core.slice.index.SliceIndexUsizeSliceTInst (hashmap.List T))
self.slots hash_mod
hashmap.HashMap.get_mut_in_list T l key
-/- [hashmap_main::hashmap::HashMap::{0}::get_mut]: backward function 0 -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::get_mut]: backward function 0 -/
def hashmap.HashMap.get_mut_back
(T : Type) (self : hashmap.HashMap T) (key : Usize) (ret0 : T) :
Result (hashmap.HashMap T)
@@ -368,16 +367,16 @@ def hashmap.HashMap.get_mut_back
let hash_mod ← hash % i
let l ←
alloc.vec.Vec.index_mut (hashmap.List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (hashmap.List T))
+ (core.slice.index.SliceIndexUsizeSliceTInst (hashmap.List T))
self.slots hash_mod
let l0 ← hashmap.HashMap.get_mut_in_list_back T l key ret0
let v ←
alloc.vec.Vec.index_mut_back (hashmap.List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (hashmap.List T))
+ (core.slice.index.SliceIndexUsizeSliceTInst (hashmap.List T))
self.slots hash_mod l0
Result.ret { self with slots := v }
-/- [hashmap_main::hashmap::HashMap::{0}::remove_from_list]: loop 0: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove_from_list]: loop 0: forward function -/
divergent def hashmap.HashMap.remove_from_list_loop
(T : Type) (key : Usize) (ls : hashmap.List T) : Result (Option T) :=
match ls with
@@ -393,12 +392,12 @@ divergent def hashmap.HashMap.remove_from_list_loop
else hashmap.HashMap.remove_from_list_loop T key tl
| hashmap.List.Nil => Result.ret none
-/- [hashmap_main::hashmap::HashMap::{0}::remove_from_list]: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove_from_list]: forward function -/
def hashmap.HashMap.remove_from_list
(T : Type) (key : Usize) (ls : hashmap.List T) : Result (Option T) :=
hashmap.HashMap.remove_from_list_loop T key ls
-/- [hashmap_main::hashmap::HashMap::{0}::remove_from_list]: loop 0: backward function 1 -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove_from_list]: loop 0: backward function 1 -/
divergent def hashmap.HashMap.remove_from_list_loop_back
(T : Type) (key : Usize) (ls : hashmap.List T) : Result (hashmap.List T) :=
match ls with
@@ -417,12 +416,12 @@ divergent def hashmap.HashMap.remove_from_list_loop_back
Result.ret (hashmap.List.Cons ckey t tl0)
| hashmap.List.Nil => Result.ret hashmap.List.Nil
-/- [hashmap_main::hashmap::HashMap::{0}::remove_from_list]: backward function 1 -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove_from_list]: backward function 1 -/
def hashmap.HashMap.remove_from_list_back
(T : Type) (key : Usize) (ls : hashmap.List T) : Result (hashmap.List T) :=
hashmap.HashMap.remove_from_list_loop_back T key ls
-/- [hashmap_main::hashmap::HashMap::{0}::remove]: forward function -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove]: forward function -/
def hashmap.HashMap.remove
(T : Type) (self : hashmap.HashMap T) (key : Usize) : Result (Option T) :=
do
@@ -431,7 +430,7 @@ def hashmap.HashMap.remove
let hash_mod ← hash % i
let l ←
alloc.vec.Vec.index_mut (hashmap.List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (hashmap.List T))
+ (core.slice.index.SliceIndexUsizeSliceTInst (hashmap.List T))
self.slots hash_mod
let x ← hashmap.HashMap.remove_from_list T key l
match x with
@@ -440,7 +439,7 @@ def hashmap.HashMap.remove
let _ ← self.num_entries - 1#usize
Result.ret (some x0)
-/- [hashmap_main::hashmap::HashMap::{0}::remove]: backward function 0 -/
+/- [hashmap_main::hashmap::{hashmap_main::hashmap::HashMap<T>}::remove]: backward function 0 -/
def hashmap.HashMap.remove_back
(T : Type) (self : hashmap.HashMap T) (key : Usize) :
Result (hashmap.HashMap T)
@@ -451,7 +450,7 @@ def hashmap.HashMap.remove_back
let hash_mod ← hash % i
let l ←
alloc.vec.Vec.index_mut (hashmap.List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (hashmap.List T))
+ (core.slice.index.SliceIndexUsizeSliceTInst (hashmap.List T))
self.slots hash_mod
let x ← hashmap.HashMap.remove_from_list T key l
match x with
@@ -460,8 +459,8 @@ def hashmap.HashMap.remove_back
let l0 ← hashmap.HashMap.remove_from_list_back T key l
let v ←
alloc.vec.Vec.index_mut_back (hashmap.List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (hashmap.List
- T)) self.slots hash_mod l0
+ (core.slice.index.SliceIndexUsizeSliceTInst (hashmap.List T))
+ self.slots hash_mod l0
Result.ret { self with slots := v }
| some x0 =>
do
@@ -469,8 +468,8 @@ def hashmap.HashMap.remove_back
let l0 ← hashmap.HashMap.remove_from_list_back T key l
let v ←
alloc.vec.Vec.index_mut_back (hashmap.List T) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (hashmap.List
- T)) self.slots hash_mod l0
+ (core.slice.index.SliceIndexUsizeSliceTInst (hashmap.List T))
+ self.slots hash_mod l0
Result.ret { self with num_entries := i0, slots := v }
/- [hashmap_main::hashmap::test1]: forward function -/
diff --git a/tests/lean/Loops.lean b/tests/lean/Loops.lean
index c6360338..701dc6f7 100644
--- a/tests/lean/Loops.lean
+++ b/tests/lean/Loops.lean
@@ -59,7 +59,7 @@ divergent def clear_loop
let i1 ← i + 1#usize
let v0 ←
alloc.vec.Vec.index_mut_back U32 Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst U32) v i 0#u32
+ (core.slice.index.SliceIndexUsizeSliceTInst U32) v i 0#u32
clear_loop v0 i1
else Result.ret v
@@ -150,8 +150,7 @@ def get_elem_mut
do
let l ←
alloc.vec.Vec.index_mut (List Usize) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List Usize))
- slots 0#usize
+ (core.slice.index.SliceIndexUsizeSliceTInst (List Usize)) slots 0#usize
get_elem_mut_loop x l
/- [loops::get_elem_mut]: loop 0: backward function 0 -/
@@ -175,12 +174,11 @@ def get_elem_mut_back
do
let l ←
alloc.vec.Vec.index_mut (List Usize) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List Usize))
- slots 0#usize
+ (core.slice.index.SliceIndexUsizeSliceTInst (List Usize)) slots 0#usize
let l0 ← get_elem_mut_loop_back x l ret0
alloc.vec.Vec.index_mut_back (List Usize) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List Usize)) slots
- 0#usize l0
+ (core.slice.index.SliceIndexUsizeSliceTInst (List Usize)) slots 0#usize
+ l0
/- [loops::get_elem_shared]: loop 0: forward function -/
divergent def get_elem_shared_loop
@@ -197,8 +195,7 @@ def get_elem_shared
do
let l ←
alloc.vec.Vec.index (List Usize) Usize
- (core.slice.index.usize.coresliceindexSliceIndexInst (List Usize))
- slots 0#usize
+ (core.slice.index.SliceIndexUsizeSliceTInst (List Usize)) slots 0#usize
get_elem_shared_loop x l
/- [loops::id_mut]: forward function -/