diff --git a/proof-libs/fstar/generated-core/Core.Array.Iter.fst b/proof-libs/fstar/generated-core/Core.Array.Iter.fst deleted file mode 100644 index 1dd1ec7ca..000000000 --- a/proof-libs/fstar/generated-core/Core.Array.Iter.fst +++ /dev/null @@ -1,9 +0,0 @@ -module Core.Array.Iter -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -type t_IntoIter (v_T: Type0) (v_N: usize) = { - f_data:Core.Primitive.t_Array v_T v_N; - f_alive:Core.Ops.Index_range.t_IndexRange -} diff --git a/proof-libs/fstar/generated-core/Core.Array.Rec_bundle_579704328.fst b/proof-libs/fstar/generated-core/Core.Array.Rec_bundle_579704328.fst deleted file mode 100644 index 858a145a5..000000000 --- a/proof-libs/fstar/generated-core/Core.Array.Rec_bundle_579704328.fst +++ /dev/null @@ -1,8018 +0,0 @@ -module Core.Array.Rec_bundle_579704328 -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -type t_TryFromSliceError = | TryFromSliceError : Prims.unit -> t_TryFromSliceError - -type t_Seq (v_T: Type0) = { f_v:Alloc.Vec.t_Vec v_T Alloc.Alloc.t_Global } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl (#v_T: Type0) (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - : Core.Clone.t_Clone (t_Seq v_T) = - { - f_clone_pre = (fun (self: t_Seq v_T) -> true); - f_clone_post = (fun (self: t_Seq v_T) (out: t_Seq v_T) -> true); - f_clone - = - fun (self: t_Seq v_T) -> - { - f_v - = - Core.Clone.f_clone #(Alloc.Vec.t_Vec v_T Alloc.Alloc.t_Global) - #FStar.Tactics.Typeclasses.solve - self.f_v - } - <: - t_Seq v_T - } - -type t_LIST (v_T: Type0) = - | LIST_NIL : t_LIST v_T - | LIST_CONS : v_T -> t_Seq v_T -> t_LIST v_T - -let nil - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (_: Prims.unit) - : t_Seq v_T = { f_v = Alloc.Vec.impl__new #v_T () } <: t_Seq v_T - -type t_Slice (v_T: Type0) = { f_v:t_Seq v_T } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_2 (#v_T: Type0) (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - : Core.Convert.t_From (t_Slice v_T) (t_Slice v_T) = - { - f_from_pre = (fun (x: t_Slice v_T) -> true); - f_from_post = (fun (x: t_Slice v_T) (out: t_Slice v_T) -> true); - f_from - = - fun (x: t_Slice v_T) -> - { f_v = { f_v = Alloc.Slice.impl__to_vec #v_T x } <: t_Seq v_T } <: t_Slice v_T - } - -type t_Array (v_T: Type0) (v_N: usize) = { f_v:t_Slice v_T } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_2 - (#v_T: Type0) - (v_N: usize) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - : Core.Clone.t_Clone (t_Array v_T v_N) = - { - f_clone_pre = (fun (self: t_Array v_T v_N) -> true); - f_clone_post = (fun (self: t_Array v_T v_N) (out: t_Array v_T v_N) -> true); - f_clone - = - fun (self: t_Array v_T v_N) -> - { f_v = Core.Clone.f_clone #(t_Slice v_T) #FStar.Tactics.Typeclasses.solve self.f_v } - <: - t_Array v_T v_N - } - -let cast - (#v_T: Type0) - (v_N: usize) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (self: t_Array v_T v_N) - : t_Slice v_T = self.f_v - -type t_i128 = | C_i128 : Core.Base_interface.Int.t_I128 -> t_i128 - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_25: Core.Clone.t_Clone t_i128 = - { - f_clone_pre = (fun (self: t_i128) -> true); - f_clone_post = (fun (self: t_i128) (out: t_i128) -> true); - f_clone - = - fun (self: t_i128) -> - t_i128 - (Core.Clone.f_clone #Core.Base_interface.Int.t_I128 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_i128 - } - -type t_i16 = | C_i16 : Core.Base_interface.Int.t_I16 -> t_i16 - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_19: Core.Clone.t_Clone t_i16 = - { - f_clone_pre = (fun (self: t_i16) -> true); - f_clone_post = (fun (self: t_i16) (out: t_i16) -> true); - f_clone - = - fun (self: t_i16) -> - t_i16 - (Core.Clone.f_clone #Core.Base_interface.Int.t_I16 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_i16 - } - -type t_i32 = | C_i32 : Core.Base_interface.Int.t_I32 -> t_i32 - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_21: Core.Clone.t_Clone t_i32 = - { - f_clone_pre = (fun (self: t_i32) -> true); - f_clone_post = (fun (self: t_i32) (out: t_i32) -> true); - f_clone - = - fun (self: t_i32) -> - t_i32 - (Core.Clone.f_clone #Core.Base_interface.Int.t_I32 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_i32 - } - -type t_i64 = | C_i64 : Core.Base_interface.Int.t_I64 -> t_i64 - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_23: Core.Clone.t_Clone t_i64 = - { - f_clone_pre = (fun (self: t_i64) -> true); - f_clone_post = (fun (self: t_i64) (out: t_i64) -> true); - f_clone - = - fun (self: t_i64) -> - t_i64 - (Core.Clone.f_clone #Core.Base_interface.Int.t_I64 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_i64 - } - -type t_i8 = | C_i8 : Core.Base_interface.Int.t_I8 -> t_i8 - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_17: Core.Clone.t_Clone t_i8 = - { - f_clone_pre = (fun (self: t_i8) -> true); - f_clone_post = (fun (self: t_i8) (out: t_i8) -> true); - f_clone - = - fun (self: t_i8) -> - t_i8 - (Core.Clone.f_clone #Core.Base_interface.Int.t_I8 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_i8 - } - -type t_isize = | C_isize : Core.Base_interface.Int.t_I64 -> t_isize - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_27: Core.Clone.t_Clone t_isize = - { - f_clone_pre = (fun (self: t_isize) -> true); - f_clone_post = (fun (self: t_isize) (out: t_isize) -> true); - f_clone - = - fun (self: t_isize) -> - t_isize - (Core.Clone.f_clone #Core.Base_interface.Int.t_I64 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_isize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_31: Core.Convert.t_From t_isize t_i64 = - { - f_from_pre = (fun (x: t_i64) -> true); - f_from_post = (fun (x: t_i64) (out: t_isize) -> true); - f_from - = - fun (x: t_i64) -> - t_isize - (Core.Convert.f_into #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_isize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_40: Core.Convert.t_From t_i64 t_isize = - { - f_from_pre = (fun (x: t_isize) -> true); - f_from_post = (fun (x: t_isize) (out: t_i64) -> true); - f_from - = - fun (x: t_isize) -> - t_i64 - (Core.Convert.f_into #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i64 - } - -type t_u128 = | C_u128 : Core.Base_interface.Int.t_U128 -> t_u128 - -let from_le715594649 (x: t_u128) : t_u128 = x - -let to_le902648378 (self: t_u128) : t_u128 = self - -type t_u16 = | C_u16 : Core.Base_interface.Int.t_U16 -> t_u16 - -let from_le793045973 (x: t_u16) : t_u16 = x - -let to_le1012469456 (self: t_u16) : t_u16 = self - -type t_u32 = | C_u32 : Core.Base_interface.Int.t_U32 -> t_u32 - -let from_le706338679 (x: t_u32) : t_u32 = x - -let to_le724624277 (self: t_u32) : t_u32 = self - -type t_u64 = | C_u64 : Core.Base_interface.Int.t_U64 -> t_u64 - -let from_le435089922 (x: t_u64) : t_u64 = x - -let to_le2703875 (self: t_u64) : t_u64 = self - -type t_u8 = | C_u8 : Core.Base_interface.Int.t_U8 -> t_u8 - -let from_le529489651 (x: t_u8) : t_u8 = x - -let to_le523556665 (self: t_u8) : t_u8 = self - -type t_usize = | C_usize : Core.Base_interface.Int.t_U64 -> t_usize - -let from_le418743864 (x: t_usize) : t_usize = x - -let to_le946822077 (self: t_usize) : t_usize = self - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_31: Core.Convert.t_From t_usize t_u64 = - { - f_from_pre = (fun (x: t_u64) -> true); - f_from_post = (fun (x: t_u64) (out: t_usize) -> true); - f_from - = - fun (x: t_u64) -> - t_usize - (Core.Convert.f_into #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_40: Core.Convert.t_From t_u64 t_usize = - { - f_from_pre = (fun (x: t_usize) -> true); - f_from_post = (fun (x: t_usize) (out: t_u64) -> true); - f_from - = - fun (x: t_usize) -> - t_u64 - (Core.Convert.f_into #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u64 - } - -class v_Sealed (v_Self: Type0) = { __marker_trait_v_Sealed:Prims.unit } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl: v_Sealed t_usize = { __marker_trait = () } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_1: v_Sealed (Core.Ops.Range.t_Range usize) = { __marker_trait = () } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_2: v_Sealed (Core.Ops.Range.t_RangeTo usize) = { __marker_trait = () } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_3: v_Sealed (Core.Ops.Range.t_RangeFrom usize) = { __marker_trait = () } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_4: v_Sealed Core.Ops.Range.t_RangeFull = { __marker_trait = () } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_5: v_Sealed (Core.Ops.Range.t_RangeInclusive usize) = { __marker_trait = () } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_6: v_Sealed (Core.Ops.Range.t_RangeToInclusive usize) = { __marker_trait = () } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_7: v_Sealed (Core.Ops.Range.t_Bound usize & Core.Ops.Range.t_Bound usize) = - { __marker_trait = () } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_8: v_Sealed Core.Ops.Index_range.t_IndexRange = { __marker_trait = () } - -let v_BITS80497669: t_u32 = t_u32 Core.Base_interface.Int.impl_97__BITS <: t_u32 - -let v_MAX626626007: t_i8 = - t_i8 (Core.Base_interface.Int.f_MAX #FStar.Tactics.Typeclasses.solve) <: t_i8 - -let v_MIN19747349: t_i8 = - t_i8 (Core.Base_interface.Int.f_MIN #FStar.Tactics.Typeclasses.solve) <: t_i8 - -let v_BITS421056295: t_u32 = t_u32 Core.Base_interface.Int.impl_83__BITS <: t_u32 - -let v_MAX474501300: t_i16 = - t_i16 (Core.Base_interface.Int.f_MAX #FStar.Tactics.Typeclasses.solve) <: t_i16 - -let v_MIN776391606: t_i16 = - t_i16 (Core.Base_interface.Int.f_MIN #FStar.Tactics.Typeclasses.solve) <: t_i16 - -let v_BITS465526498: t_u32 = t_u32 Core.Base_interface.Int.impl_69__BITS <: t_u32 - -let v_MAX106630818: t_i32 = - t_i32 (Core.Base_interface.Int.f_MAX #FStar.Tactics.Typeclasses.solve) <: t_i32 - -let v_MIN682967538: t_i32 = - t_i32 (Core.Base_interface.Int.f_MIN #FStar.Tactics.Typeclasses.solve) <: t_i32 - -let v_BITS419886578: t_u32 = t_u32 Core.Base_interface.Int.impl_55__BITS <: t_u32 - -let v_MAX527043787: t_i64 = - t_i64 (Core.Base_interface.Int.f_MAX #FStar.Tactics.Typeclasses.solve) <: t_i64 - -let v_MIN654206259: t_i64 = - t_i64 (Core.Base_interface.Int.f_MIN #FStar.Tactics.Typeclasses.solve) <: t_i64 - -let v_BITS992667165: t_u32 = t_u32 Core.Base_interface.Int.impl_41__BITS <: t_u32 - -let v_MAX375377319: t_i128 = - t_i128 (Core.Base_interface.Int.f_MAX #FStar.Tactics.Typeclasses.solve) <: t_i128 - -let v_MIN79612531: t_i128 = - t_i128 (Core.Base_interface.Int.f_MIN #FStar.Tactics.Typeclasses.solve) <: t_i128 - -let v_BITS211584016: t_u32 = t_u32 Core.Base_interface.Int.impl_55__BITS <: t_u32 - -let v_MAX937003029: t_isize = - t_isize (Core.Base_interface.Int.f_MAX #FStar.Tactics.Typeclasses.solve) <: t_isize - -let v_MIN1017039533: t_isize = - t_isize (Core.Base_interface.Int.f_MIN #FStar.Tactics.Typeclasses.solve) <: t_isize - -let v_BITS690311813: t_u32 = t_u32 Core.Base_interface.Int.impl_219__BITS <: t_u32 - -let v_MAX310118176: t_u8 = - t_u8 (Core.Base_interface.Int.f_MAX #FStar.Tactics.Typeclasses.solve) <: t_u8 - -let v_MIN41851434: t_u8 = - t_u8 (Core.Base_interface.Int.f_MIN #FStar.Tactics.Typeclasses.solve) <: t_u8 - -let v_BITS277333551: t_u32 = t_u32 Core.Base_interface.Int.impl_192__BITS <: t_u32 - -let v_MAX487295910: t_u16 = - t_u16 (Core.Base_interface.Int.f_MAX #FStar.Tactics.Typeclasses.solve) <: t_u16 - -let v_MIN592300287: t_u16 = - t_u16 (Core.Base_interface.Int.f_MIN #FStar.Tactics.Typeclasses.solve) <: t_u16 - -let v_BITS473478051: t_u32 = t_u32 Core.Base_interface.Int.impl_165__BITS <: t_u32 - -let v_MAX826434525: t_u32 = - t_u32 (Core.Base_interface.Int.f_MAX #FStar.Tactics.Typeclasses.solve) <: t_u32 - -let v_MIN932777089: t_u32 = - t_u32 (Core.Base_interface.Int.f_MIN #FStar.Tactics.Typeclasses.solve) <: t_u32 - -let v_BITS177666292: t_u32 = t_u32 Core.Base_interface.Int.impl_138__BITS <: t_u32 - -let v_MAX815180633: t_u64 = - t_u64 (Core.Base_interface.Int.f_MAX #FStar.Tactics.Typeclasses.solve) <: t_u64 - -let v_MIN631333594: t_u64 = - t_u64 (Core.Base_interface.Int.f_MIN #FStar.Tactics.Typeclasses.solve) <: t_u64 - -let v_BITS136999051: t_u32 = t_u32 Core.Base_interface.Int.impl_111__BITS <: t_u32 - -let v_MAX404543799: t_u128 = - t_u128 (Core.Base_interface.Int.f_MAX #FStar.Tactics.Typeclasses.solve) <: t_u128 - -let v_MIN668621698: t_u128 = - t_u128 (Core.Base_interface.Int.f_MIN #FStar.Tactics.Typeclasses.solve) <: t_u128 - -let v_BITS229952196: t_u32 = t_u32 Core.Base_interface.Int.impl_138__BITS <: t_u32 - -let v_MAX750570916: t_usize = - t_usize (Core.Base_interface.Int.f_MAX #FStar.Tactics.Typeclasses.solve) <: t_usize - -let v_MIN861571008: t_usize = - t_usize (Core.Base_interface.Int.f_MIN #FStar.Tactics.Typeclasses.solve) <: t_usize - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_1 - (#v_T #v_I: Type0) - (v_N: usize) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i2: Core.Clone.t_Clone v_T) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i3: Core.Ops.Index.t_Index (t_Slice v_T) v_I) - : Core.Ops.Index.t_Index (t_Array v_T v_N) v_I = - { - f_Output = i3.f_Output; - f_index_pre = (fun (self: t_Array v_T v_N) (index: v_I) -> true); - f_index_post = (fun (self: t_Array v_T v_N) (index: v_I) (out: i3.f_Output) -> true); - f_index - = - fun (self: t_Array v_T v_N) (index: v_I) -> (cast #v_T v_N self <: t_Slice v_T).[ index ] - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_1 - (#v_T: Type0) - (v_N: usize) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - : Core.Convert.t_From (t_Array v_T v_N) (t_Array v_T v_N) = - { - f_from_pre = (fun (x: t_Array v_T v_N) -> true); - f_from_post = (fun (x: t_Array v_T v_N) (out: t_Array v_T v_N) -> true); - f_from - = - fun (x: t_Array v_T v_N) -> - match - Core.Convert.f_try_into #(Alloc.Vec.t_Vec v_T Alloc.Alloc.t_Global) - #(t_Array v_T v_N) - #FStar.Tactics.Typeclasses.solve - x.f_v.f_v.f_v - with - | Core.Result.Result_Ok x -> x - | _ -> - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_const (sz 1 - ) - (let list = ["some error?"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_5: Core.Clone.t_Clone t_u8 = - { - f_clone_pre = (fun (self: t_u8) -> true); - f_clone_post = (fun (self: t_u8) (out: t_u8) -> true); - f_clone - = - fun (self: t_u8) -> - t_u8 - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_7: Core.Clone.t_Clone t_u16 = - { - f_clone_pre = (fun (self: t_u16) -> true); - f_clone_post = (fun (self: t_u16) (out: t_u16) -> true); - f_clone - = - fun (self: t_u16) -> - t_u16 - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_9: Core.Clone.t_Clone t_u32 = - { - f_clone_pre = (fun (self: t_u32) -> true); - f_clone_post = (fun (self: t_u32) (out: t_u32) -> true); - f_clone - = - fun (self: t_u32) -> - t_u32 - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_11: Core.Clone.t_Clone t_u64 = - { - f_clone_pre = (fun (self: t_u64) -> true); - f_clone_post = (fun (self: t_u64) (out: t_u64) -> true); - f_clone - = - fun (self: t_u64) -> - t_u64 - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_13: Core.Clone.t_Clone t_u128 = - { - f_clone_pre = (fun (self: t_u128) -> true); - f_clone_post = (fun (self: t_u128) (out: t_u128) -> true); - f_clone - = - fun (self: t_u128) -> - t_u128 - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_15: Core.Clone.t_Clone t_usize = - { - f_clone_pre = (fun (self: t_usize) -> true); - f_clone_post = (fun (self: t_usize) (out: t_usize) -> true); - f_clone - = - fun (self: t_usize) -> - t_usize - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_usize - } - -class v_SliceIndex (v_Self: Type0) (v_T: Type0) = { - [@@@ FStar.Tactics.Typeclasses.no_method]_super_9346575357466912174:v_Sealed v_Self; - f_Output:Type0; - f_index_pre:v_Self -> v_T -> Type0; - f_index_post:v_Self -> v_T -> f_Output -> Type0; - f_index:x0: v_Self -> x1: v_T - -> Prims.Pure f_Output (f_index_pre x0 x1) (fun result -> f_index_post x0 x1 result) -} - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl - (#v_T #v_I: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i2: v_SliceIndex v_I (t_Slice v_T)) - : Core.Ops.Index.t_Index (t_Slice v_T) v_I = - { - f_Output = i2.f_Output; - f_index_pre = (fun (self: t_Slice v_T) (index: v_I) -> true); - f_index_post = (fun (self: t_Slice v_T) (index: v_I) (out: i2.f_Output) -> true); - f_index - = - fun (self: t_Slice v_T) (index: v_I) -> - Core.Slice.Index.f_index #v_I #(t_Slice v_T) #FStar.Tactics.Typeclasses.solve index self - } - -let cons - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (s: t_Seq v_T) - (t: v_T) - : t_Seq v_T = - { - f_v - = - Alloc.Slice.impl__concat #(t_Slice v_T) - #v_T - ((let list = - [ - (let list = [t] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list).[ Core.Ops.Range.RangeFull - <: - Core.Ops.Range.t_RangeFull ]; - s.f_v.[ Core.Ops.Range.RangeFull <: Core.Ops.Range.t_RangeFull ] - ] - in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 2); - Rust_primitives.Hax.array_of_list 2 list) - <: - t_Slice (t_Slice v_T)) - } - <: - t_Seq v_T - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl - (#v_T: Type0) - (v_N: usize) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - : Core.Convert.t_From (t_Array v_T v_N) (t_Array v_T v_N) = - { - f_from_pre = (fun (x: t_Array v_T v_N) -> true); - f_from_post = (fun (x: t_Array v_T v_N) (out: t_Array v_T v_N) -> true); - f_from - = - fun (x: t_Array v_T v_N) -> - { - f_v - = - { - f_v - = - { - f_v - = - Alloc.Slice.impl__to_vec #v_T - (x.[ Core.Ops.Range.RangeFull <: Core.Ops.Range.t_RangeFull ] <: t_Slice v_T) - } - <: - t_Seq v_T - } - <: - t_Slice v_T - } - <: - t_Array v_T v_N - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_2 (#v_T: Type0) : v_SliceIndex Core.Ops.Range.t_RangeFull (t_Slice v_T) = - { - _super_9346575357466912174 = FStar.Tactics.Typeclasses.solve; - f_Output = t_Slice v_T; - f_index_pre = (fun (self: Core.Ops.Range.t_RangeFull) (slice: t_Slice v_T) -> true); - f_index_post - = - (fun (self: Core.Ops.Range.t_RangeFull) (slice: t_Slice v_T) (out: t_Slice v_T) -> true); - f_index = fun (self: Core.Ops.Range.t_RangeFull) (slice: t_Slice v_T) -> slice - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl - (#v_T: Type0) - (v_N: usize) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - : Core.Convert.t_AsRef (t_Array v_T v_N) (t_Slice v_T) = - { - f_as_ref_pre = (fun (self: t_Array v_T v_N) -> true); - f_as_ref_post = (fun (self: t_Array v_T v_N) (out: t_Slice v_T) -> true); - f_as_ref - = - fun (self: t_Array v_T v_N) -> self.[ Core.Ops.Range.RangeFull <: Core.Ops.Range.t_RangeFull ] - } - -let match_list - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (s: t_Seq v_T) - : t_LIST v_T = - if - Rust_primitives.Usize.eq (Alloc.Vec.impl_1__len #v_T #Alloc.Alloc.t_Global s.f_v <: usize) - (sz 0) - then LIST_NIL <: t_LIST v_T - else - LIST_CONS (Core.Clone.f_clone #v_T #FStar.Tactics.Typeclasses.solve (s.f_v.[ sz 0 ] <: v_T)) - ({ - f_v - = - Alloc.Slice.impl__concat #(t_Slice v_T) - #v_T - ((let list = - [s.f_v.[ { Core.Ops.Range.f_start = sz 1 } <: Core.Ops.Range.t_RangeFrom usize ]] - in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - <: - t_Slice (t_Slice v_T)) - } - <: - t_Seq v_T) - <: - t_LIST v_T - -let rec from_u128_binary (x: u128) - : Prims.Pure Core.Base.Spec.Binary.Positive.t_Positive - (requires Rust_primitives.U128.ne x (pub_u128 0)) - (fun _ -> Prims.l_True) = - if Rust_primitives.U128.eq x (pub_u128 1) - then Core.Base.Spec.Binary.Positive.xH - else - if Rust_primitives.U128.eq (Rust_primitives.U128.rem x (pub_u128 2) <: u128) (pub_u128 0) - then - Core.Base.Spec.Binary.Positive.xO (from_u128_binary (Rust_primitives.U128.div x (pub_u128 2) - <: - u128) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - else - Core.Base.Spec.Binary.Positive.xI (from_u128_binary (Rust_primitives.U128.div x (pub_u128 2) - <: - u128) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_8: Core.Convert.t_From Core.Base.Spec.Haxint.t_HaxInt u128 = - { - f_from_pre = (fun (x: u128) -> true); - f_from_post = (fun (x: u128) (out: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_from - = - fun (x: u128) -> - if Rust_primitives.U128.eq x (pub_u128 0) - then Core.Base.Spec.Haxint.v_HaxInt_ZERO - else - Core.Base.Spec.Binary.Positive.positive_to_int (from_u128_binary x - <: - Core.Base.Spec.Binary.Positive.t_Positive) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_20: Core.Convert.t_From Core.Base.Spec.Z.t_Z i128 = - { - f_from_pre = (fun (x: i128) -> true); - f_from_post = (fun (x: i128) (out: Core.Base.Spec.Z.t_Z) -> true); - f_from - = - fun (x: i128) -> - match Core.Cmp.f_cmp #i128 #FStar.Tactics.Typeclasses.solve x (pub_i128 0) with - | Core.Cmp.Ordering_Equal -> Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z - | Core.Cmp.Ordering_Less -> - Core.Base.Spec.Z.Z_NEG (from_u128_binary (Core.Num.impl__i128__unsigned_abs x <: u128)) - <: - Core.Base.Spec.Z.t_Z - | Core.Cmp.Ordering_Greater -> - Core.Base.Spec.Z.Z_POS (from_u128_binary (Core.Num.impl__i128__unsigned_abs x <: u128)) - <: - Core.Base.Spec.Z.t_Z - } - -let rec from_u16_binary (x: u16) - : Prims.Pure Core.Base.Spec.Binary.Positive.t_Positive - (requires Rust_primitives.U16.ne x 0us) - (fun _ -> Prims.l_True) = - if Rust_primitives.U16.eq x 1us - then Core.Base.Spec.Binary.Positive.xH - else - if Rust_primitives.U16.eq (Rust_primitives.U16.rem x 2us <: u16) 0us - then - Core.Base.Spec.Binary.Positive.xO (from_u16_binary (Rust_primitives.U16.div x 2us <: u16) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - else - Core.Base.Spec.Binary.Positive.xI (from_u16_binary (Rust_primitives.U16.div x 2us <: u16) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_2: Core.Convert.t_From Core.Base.Spec.Haxint.t_HaxInt u16 = - { - f_from_pre = (fun (x: u16) -> true); - f_from_post = (fun (x: u16) (out: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_from - = - fun (x: u16) -> - if Rust_primitives.U16.eq x 0us - then Core.Base.Spec.Haxint.v_HaxInt_ZERO - else - Core.Base.Spec.Binary.Positive.positive_to_int (from_u16_binary x - <: - Core.Base.Spec.Binary.Positive.t_Positive) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_14: Core.Convert.t_From Core.Base.Spec.Z.t_Z i16 = - { - f_from_pre = (fun (x: i16) -> true); - f_from_post = (fun (x: i16) (out: Core.Base.Spec.Z.t_Z) -> true); - f_from - = - fun (x: i16) -> - match Core.Cmp.f_cmp #i16 #FStar.Tactics.Typeclasses.solve x 0s with - | Core.Cmp.Ordering_Equal -> Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z - | Core.Cmp.Ordering_Less -> - Core.Base.Spec.Z.Z_NEG (from_u16_binary (Core.Num.impl__i16__unsigned_abs x <: u16)) - <: - Core.Base.Spec.Z.t_Z - | Core.Cmp.Ordering_Greater -> - Core.Base.Spec.Z.Z_POS (from_u16_binary (Core.Num.impl__i16__unsigned_abs x <: u16)) - <: - Core.Base.Spec.Z.t_Z - } - -let rec from_u32_binary (x: u32) - : Prims.Pure Core.Base.Spec.Binary.Positive.t_Positive - (requires Rust_primitives.U32.ne x 0ul) - (fun _ -> Prims.l_True) = - if Rust_primitives.U32.eq x 1ul - then Core.Base.Spec.Binary.Positive.xH - else - if Rust_primitives.U32.eq (Rust_primitives.U32.rem x 2ul <: u32) 0ul - then - Core.Base.Spec.Binary.Positive.xO (from_u32_binary (Rust_primitives.U32.div x 2ul <: u32) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - else - Core.Base.Spec.Binary.Positive.xI (from_u32_binary (Rust_primitives.U32.div x 2ul <: u32) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_4: Core.Convert.t_From Core.Base.Spec.Haxint.t_HaxInt u32 = - { - f_from_pre = (fun (x: u32) -> true); - f_from_post = (fun (x: u32) (out: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_from - = - fun (x: u32) -> - if Rust_primitives.U32.eq x 0ul - then Core.Base.Spec.Haxint.v_HaxInt_ZERO - else - Core.Base.Spec.Binary.Positive.positive_to_int (from_u32_binary x - <: - Core.Base.Spec.Binary.Positive.t_Positive) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_16: Core.Convert.t_From Core.Base.Spec.Z.t_Z i32 = - { - f_from_pre = (fun (x: i32) -> true); - f_from_post = (fun (x: i32) (out: Core.Base.Spec.Z.t_Z) -> true); - f_from - = - fun (x: i32) -> - match Core.Cmp.f_cmp #i32 #FStar.Tactics.Typeclasses.solve x 0l with - | Core.Cmp.Ordering_Equal -> Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z - | Core.Cmp.Ordering_Less -> - Core.Base.Spec.Z.Z_NEG (from_u32_binary (Core.Num.impl_2__unsigned_abs x <: u32)) - <: - Core.Base.Spec.Z.t_Z - | Core.Cmp.Ordering_Greater -> - Core.Base.Spec.Z.Z_POS (from_u32_binary (Core.Num.impl_2__unsigned_abs x <: u32)) - <: - Core.Base.Spec.Z.t_Z - } - -let rec from_u64_binary (x: u64) - : Prims.Pure Core.Base.Spec.Binary.Positive.t_Positive - (requires Rust_primitives.U64.ne x 0uL) - (fun _ -> Prims.l_True) = - if Rust_primitives.U64.eq x 1uL - then Core.Base.Spec.Binary.Positive.xH - else - if Rust_primitives.U64.eq (Rust_primitives.U64.rem x 2uL <: u64) 0uL - then - Core.Base.Spec.Binary.Positive.xO (from_u64_binary (Rust_primitives.U64.div x 2uL <: u64) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - else - Core.Base.Spec.Binary.Positive.xI (from_u64_binary (Rust_primitives.U64.div x 2uL <: u64) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_6: Core.Convert.t_From Core.Base.Spec.Haxint.t_HaxInt u64 = - { - f_from_pre = (fun (x: u64) -> true); - f_from_post = (fun (x: u64) (out: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_from - = - fun (x: u64) -> - if Rust_primitives.U64.eq x 0uL - then Core.Base.Spec.Haxint.v_HaxInt_ZERO - else - Core.Base.Spec.Binary.Positive.positive_to_int (from_u64_binary x - <: - Core.Base.Spec.Binary.Positive.t_Positive) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_18: Core.Convert.t_From Core.Base.Spec.Z.t_Z i64 = - { - f_from_pre = (fun (x: i64) -> true); - f_from_post = (fun (x: i64) (out: Core.Base.Spec.Z.t_Z) -> true); - f_from - = - fun (x: i64) -> - match Core.Cmp.f_cmp #i64 #FStar.Tactics.Typeclasses.solve x 0L with - | Core.Cmp.Ordering_Equal -> Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z - | Core.Cmp.Ordering_Less -> - Core.Base.Spec.Z.Z_NEG (from_u64_binary (Core.Num.impl__i64__unsigned_abs x <: u64)) - <: - Core.Base.Spec.Z.t_Z - | Core.Cmp.Ordering_Greater -> - Core.Base.Spec.Z.Z_POS (from_u64_binary (Core.Num.impl__i64__unsigned_abs x <: u64)) - <: - Core.Base.Spec.Z.t_Z - } - -let rec from_u8_binary (x: u8) - : Prims.Pure Core.Base.Spec.Binary.Positive.t_Positive - (requires Rust_primitives.U8.ne x 0uy) - (fun _ -> Prims.l_True) = - if Rust_primitives.U8.eq x 1uy - then Core.Base.Spec.Binary.Positive.xH - else - if Rust_primitives.U8.eq (Rust_primitives.U8.rem x 2uy <: u8) 0uy - then - Core.Base.Spec.Binary.Positive.xO (from_u8_binary (Rust_primitives.U8.div x 2uy <: u8) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - else - Core.Base.Spec.Binary.Positive.xI (from_u8_binary (Rust_primitives.U8.div x 2uy <: u8) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl: Core.Convert.t_From Core.Base.Spec.Haxint.t_HaxInt u8 = - { - f_from_pre = (fun (x: u8) -> true); - f_from_post = (fun (x: u8) (out: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_from - = - fun (x: u8) -> - if Rust_primitives.U8.eq x 0uy - then Core.Base.Spec.Haxint.v_HaxInt_ZERO - else - Core.Base.Spec.Binary.Positive.positive_to_int (from_u8_binary x - <: - Core.Base.Spec.Binary.Positive.t_Positive) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_12: Core.Convert.t_From Core.Base.Spec.Z.t_Z i8 = - { - f_from_pre = (fun (x: i8) -> true); - f_from_post = (fun (x: i8) (out: Core.Base.Spec.Z.t_Z) -> true); - f_from - = - fun (x: i8) -> - match Core.Cmp.f_cmp #i8 #FStar.Tactics.Typeclasses.solve x 0y with - | Core.Cmp.Ordering_Equal -> Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z - | Core.Cmp.Ordering_Less -> - Core.Base.Spec.Z.Z_NEG (from_u8_binary (Core.Num.impl__i8__unsigned_abs x <: u8)) - <: - Core.Base.Spec.Z.t_Z - | Core.Cmp.Ordering_Greater -> - Core.Base.Spec.Z.Z_POS (from_u8_binary (Core.Num.impl__i8__unsigned_abs x <: u8)) - <: - Core.Base.Spec.Z.t_Z - } - -let rec from_usize_binary (x: usize) - : Prims.Pure Core.Base.Spec.Binary.Positive.t_Positive - (requires Rust_primitives.Usize.ne x (sz 0)) - (fun _ -> Prims.l_True) = - if Rust_primitives.Usize.eq x (sz 1) - then Core.Base.Spec.Binary.Positive.xH - else - if Rust_primitives.Usize.eq (Rust_primitives.Usize.rem x (sz 2) <: usize) (sz 0) - then - Core.Base.Spec.Binary.Positive.xO (from_usize_binary (Rust_primitives.Usize.div x (sz 2) - <: - usize) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - else - Core.Base.Spec.Binary.Positive.xI (from_usize_binary (Rust_primitives.Usize.div x (sz 2) - <: - usize) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_10: Core.Convert.t_From Core.Base.Spec.Haxint.t_HaxInt usize = - { - f_from_pre = (fun (x: usize) -> true); - f_from_post = (fun (x: usize) (out: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_from - = - fun (x: usize) -> - if Rust_primitives.Usize.eq x (sz 0) - then Core.Base.Spec.Haxint.v_HaxInt_ZERO - else - Core.Base.Spec.Binary.Positive.positive_to_int (from_usize_binary x - <: - Core.Base.Spec.Binary.Positive.t_Positive) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_22: Core.Convert.t_From Core.Base.Spec.Z.t_Z isize = - { - f_from_pre = (fun (x: isize) -> true); - f_from_post = (fun (x: isize) (out: Core.Base.Spec.Z.t_Z) -> true); - f_from - = - fun (x: isize) -> - match Core.Cmp.f_cmp #isize #FStar.Tactics.Typeclasses.solve x (isz 0) with - | Core.Cmp.Ordering_Equal -> Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z - | Core.Cmp.Ordering_Less -> - Core.Base.Spec.Z.Z_NEG (from_usize_binary (Core.Num.impl__isize__unsigned_abs x <: usize)) - <: - Core.Base.Spec.Z.t_Z - | Core.Cmp.Ordering_Greater -> - Core.Base.Spec.Z.Z_POS (from_usize_binary (Core.Num.impl__isize__unsigned_abs x <: usize)) - <: - Core.Base.Spec.Z.t_Z - } - -let rec to_u128_binary (self: Core.Base.Spec.Binary.Positive.t_Positive) : u128 = - match Core.Base.Spec.Binary.Positive.match_positive self with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> pub_u128 1 - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - Rust_primitives.U128.mul (to_u128_binary p <: u128) (pub_u128 2) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - Rust_primitives.U128.add (Rust_primitives.U128.mul (to_u128_binary p <: u128) (pub_u128 2) - <: - u128) - (pub_u128 1) - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_9: Core.Convert.t_From u128 Core.Base.Spec.Haxint.t_HaxInt = - { - f_from_pre = (fun (x: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_from_post = (fun (x: Core.Base.Spec.Haxint.t_HaxInt) (out: u128) -> true); - f_from - = - fun (x: Core.Base.Spec.Haxint.t_HaxInt) -> - match Core.Base.Spec.Binary.Pos.match_pos x with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> pub_u128 0 - | Core.Base.Spec.Binary.Pos.POS_POS p -> to_u128_binary p - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_21: Core.Convert.t_From i128 Core.Base.Spec.Z.t_Z = - { - f_from_pre = (fun (x: Core.Base.Spec.Z.t_Z) -> true); - f_from_post = (fun (x: Core.Base.Spec.Z.t_Z) (out: i128) -> true); - f_from - = - fun (x: Core.Base.Spec.Z.t_Z) -> - match x with - | Core.Base.Spec.Z.Z_NEG x -> - Rust_primitives.I128.sub (Core.Ops.Arith.Neg.neg (cast (Rust_primitives.U128.sub (to_u128_binary - x - <: - u128) - (pub_u128 1) - <: - u128) - <: - i128) - <: - i128) - (pub_i128 1) - | Core.Base.Spec.Z.Z_ZERO -> pub_i128 0 - | Core.Base.Spec.Z.Z_POS x -> cast (to_u128_binary x <: u128) <: i128 - } - -let rec to_u16_binary (self: Core.Base.Spec.Binary.Positive.t_Positive) : u16 = - match Core.Base.Spec.Binary.Positive.match_positive self with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> 1us - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - Rust_primitives.U16.mul (to_u16_binary p <: u16) 2us - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - Rust_primitives.U16.add (Rust_primitives.U16.mul (to_u16_binary p <: u16) 2us <: u16) 1us - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_3: Core.Convert.t_From u16 Core.Base.Spec.Haxint.t_HaxInt = - { - f_from_pre = (fun (x: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_from_post = (fun (x: Core.Base.Spec.Haxint.t_HaxInt) (out: u16) -> true); - f_from - = - fun (x: Core.Base.Spec.Haxint.t_HaxInt) -> - match Core.Base.Spec.Binary.Pos.match_pos x with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> 0us - | Core.Base.Spec.Binary.Pos.POS_POS p -> to_u16_binary p - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_15: Core.Convert.t_From i16 Core.Base.Spec.Z.t_Z = - { - f_from_pre = (fun (x: Core.Base.Spec.Z.t_Z) -> true); - f_from_post = (fun (x: Core.Base.Spec.Z.t_Z) (out: i16) -> true); - f_from - = - fun (x: Core.Base.Spec.Z.t_Z) -> - match x with - | Core.Base.Spec.Z.Z_NEG x -> - Rust_primitives.I16.sub (Core.Ops.Arith.Neg.neg (cast (Rust_primitives.U16.sub (to_u16_binary - x - <: - u16) - 1us - <: - u16) - <: - i16) - <: - i16) - 1s - | Core.Base.Spec.Z.Z_ZERO -> 0s - | Core.Base.Spec.Z.Z_POS x -> cast (to_u16_binary x <: u16) <: i16 - } - -let rec to_u32_binary (self: Core.Base.Spec.Binary.Positive.t_Positive) : u32 = - match Core.Base.Spec.Binary.Positive.match_positive self with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> 1ul - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - Rust_primitives.U32.mul (to_u32_binary p <: u32) 2ul - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - Rust_primitives.U32.add (Rust_primitives.U32.mul (to_u32_binary p <: u32) 2ul <: u32) 1ul - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_5: Core.Convert.t_From u32 Core.Base.Spec.Haxint.t_HaxInt = - { - f_from_pre = (fun (x: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_from_post = (fun (x: Core.Base.Spec.Haxint.t_HaxInt) (out: u32) -> true); - f_from - = - fun (x: Core.Base.Spec.Haxint.t_HaxInt) -> - match Core.Base.Spec.Binary.Pos.match_pos x with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> 0ul - | Core.Base.Spec.Binary.Pos.POS_POS p -> to_u32_binary p - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_17: Core.Convert.t_From i32 Core.Base.Spec.Z.t_Z = - { - f_from_pre = (fun (x: Core.Base.Spec.Z.t_Z) -> true); - f_from_post = (fun (x: Core.Base.Spec.Z.t_Z) (out: i32) -> true); - f_from - = - fun (x: Core.Base.Spec.Z.t_Z) -> - match x with - | Core.Base.Spec.Z.Z_NEG x -> - Rust_primitives.I32.sub (Core.Ops.Arith.Neg.neg (cast (Rust_primitives.U32.sub (to_u32_binary - x - <: - u32) - 1ul - <: - u32) - <: - i32) - <: - i32) - 1l - | Core.Base.Spec.Z.Z_ZERO -> 0l - | Core.Base.Spec.Z.Z_POS x -> cast (to_u32_binary x <: u32) <: i32 - } - -let rec to_u64_binary (self: Core.Base.Spec.Binary.Positive.t_Positive) : u64 = - match Core.Base.Spec.Binary.Positive.match_positive self with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> 1uL - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - Rust_primitives.U64.mul (to_u64_binary p <: u64) 2uL - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - Rust_primitives.U64.add (Rust_primitives.U64.mul (to_u64_binary p <: u64) 2uL <: u64) 1uL - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_7: Core.Convert.t_From u64 Core.Base.Spec.Haxint.t_HaxInt = - { - f_from_pre = (fun (x: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_from_post = (fun (x: Core.Base.Spec.Haxint.t_HaxInt) (out: u64) -> true); - f_from - = - fun (x: Core.Base.Spec.Haxint.t_HaxInt) -> - match Core.Base.Spec.Binary.Pos.match_pos x with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> 0uL - | Core.Base.Spec.Binary.Pos.POS_POS p -> to_u64_binary p - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_19: Core.Convert.t_From i64 Core.Base.Spec.Z.t_Z = - { - f_from_pre = (fun (x: Core.Base.Spec.Z.t_Z) -> true); - f_from_post = (fun (x: Core.Base.Spec.Z.t_Z) (out: i64) -> true); - f_from - = - fun (x: Core.Base.Spec.Z.t_Z) -> - match x with - | Core.Base.Spec.Z.Z_NEG x -> - Rust_primitives.I64.sub (Core.Ops.Arith.Neg.neg (cast (Rust_primitives.U64.sub (to_u64_binary - x - <: - u64) - 1uL - <: - u64) - <: - i64) - <: - i64) - 1L - | Core.Base.Spec.Z.Z_ZERO -> 0L - | Core.Base.Spec.Z.Z_POS x -> cast (to_u64_binary x <: u64) <: i64 - } - -let rec to_u8_binary (self: Core.Base.Spec.Binary.Positive.t_Positive) : u8 = - match Core.Base.Spec.Binary.Positive.match_positive self with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> 1uy - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - Rust_primitives.U8.mul (to_u8_binary p <: u8) 2uy - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - Rust_primitives.U8.add (Rust_primitives.U8.mul (to_u8_binary p <: u8) 2uy <: u8) 1uy - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_1: Core.Convert.t_From u8 Core.Base.Spec.Haxint.t_HaxInt = - { - f_from_pre = (fun (x: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_from_post = (fun (x: Core.Base.Spec.Haxint.t_HaxInt) (out: u8) -> true); - f_from - = - fun (x: Core.Base.Spec.Haxint.t_HaxInt) -> - match Core.Base.Spec.Binary.Pos.match_pos x with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> 0uy - | Core.Base.Spec.Binary.Pos.POS_POS p -> to_u8_binary p - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_13: Core.Convert.t_From i8 Core.Base.Spec.Z.t_Z = - { - f_from_pre = (fun (x: Core.Base.Spec.Z.t_Z) -> true); - f_from_post = (fun (x: Core.Base.Spec.Z.t_Z) (out: i8) -> true); - f_from - = - fun (x: Core.Base.Spec.Z.t_Z) -> - match x with - | Core.Base.Spec.Z.Z_NEG x -> - Rust_primitives.I8.sub (Core.Ops.Arith.Neg.neg (cast (Rust_primitives.U8.sub (to_u8_binary x - <: - u8) - 1uy - <: - u8) - <: - i8) - <: - i8) - 1y - | Core.Base.Spec.Z.Z_ZERO -> 0y - | Core.Base.Spec.Z.Z_POS x -> cast (to_u8_binary x <: u8) <: i8 - } - -let rec to_usize_binary (self: Core.Base.Spec.Binary.Positive.t_Positive) : usize = - match Core.Base.Spec.Binary.Positive.match_positive self with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> sz 1 - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - Rust_primitives.Usize.mul (to_usize_binary p <: usize) (sz 2) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - Rust_primitives.Usize.add (Rust_primitives.Usize.mul (to_usize_binary p <: usize) (sz 2) - <: - usize) - (sz 1) - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_11: Core.Convert.t_From usize Core.Base.Spec.Haxint.t_HaxInt = - { - f_from_pre = (fun (x: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_from_post = (fun (x: Core.Base.Spec.Haxint.t_HaxInt) (out: usize) -> true); - f_from - = - fun (x: Core.Base.Spec.Haxint.t_HaxInt) -> - match Core.Base.Spec.Binary.Pos.match_pos x with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> sz 0 - | Core.Base.Spec.Binary.Pos.POS_POS p -> to_usize_binary p - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_23: Core.Convert.t_From isize Core.Base.Spec.Z.t_Z = - { - f_from_pre = (fun (x: Core.Base.Spec.Z.t_Z) -> true); - f_from_post = (fun (x: Core.Base.Spec.Z.t_Z) (out: isize) -> true); - f_from - = - fun (x: Core.Base.Spec.Z.t_Z) -> - match x with - | Core.Base.Spec.Z.Z_NEG x -> - Rust_primitives.Isize.sub (Core.Ops.Arith.Neg.neg (cast (Rust_primitives.Usize.sub (to_usize_binary - x - <: - usize) - (sz 1) - <: - usize) - <: - isize) - <: - isize) - (isz 1) - | Core.Base.Spec.Z.Z_ZERO -> isz 0 - | Core.Base.Spec.Z.Z_POS x -> cast (to_usize_binary x <: usize) <: isize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_29: Core.Cmp.t_PartialEq t_u8 t_u8 = - { - f_eq_pre = (fun (self: t_u8) (rhs: t_u8) -> true); - f_eq_post = (fun (self: t_u8) (rhs: t_u8) (out: bool) -> true); - f_eq = (fun (self: t_u8) (rhs: t_u8) -> self._0 =. rhs._0); - f_ne_pre = (fun (self: t_u8) (rhs: t_u8) -> true); - f_ne_post = (fun (self: t_u8) (rhs: t_u8) (out: bool) -> true); - f_ne = fun (self: t_u8) (rhs: t_u8) -> ~.(self._0 =. rhs._0 <: bool) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_30: Core.Cmp.t_PartialOrd t_u8 t_u8 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_u8) (rhs: t_u8) -> true); - f_partial_cmp_post - = - (fun (self: t_u8) (rhs: t_u8) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_u8) (rhs: t_u8) -> - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U8 - #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0); - f_lt_pre = (fun (self: t_u8) (rhs: t_u8) -> true); - f_lt_post = (fun (self: t_u8) (rhs: t_u8) (out: bool) -> true); - f_lt - = - (fun (self: t_u8) (rhs: t_u8) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U8 - #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) -> true - | _ -> false); - f_le_pre = (fun (self: t_u8) (rhs: t_u8) -> true); - f_le_post = (fun (self: t_u8) (rhs: t_u8) (out: bool) -> true); - f_le - = - (fun (self: t_u8) (rhs: t_u8) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U8 - #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false); - f_gt_pre = (fun (self: t_u8) (rhs: t_u8) -> true); - f_gt_post = (fun (self: t_u8) (rhs: t_u8) (out: bool) -> true); - f_gt - = - (fun (self: t_u8) (rhs: t_u8) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U8 - #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) -> true - | _ -> false); - f_ge_pre = (fun (self: t_u8) (rhs: t_u8) -> true); - f_ge_post = (fun (self: t_u8) (rhs: t_u8) (out: bool) -> true); - f_ge - = - fun (self: t_u8) (rhs: t_u8) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U8 - #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_31: Core.Cmp.t_PartialEq t_u16 t_u16 = - { - f_eq_pre = (fun (self: t_u16) (rhs: t_u16) -> true); - f_eq_post = (fun (self: t_u16) (rhs: t_u16) (out: bool) -> true); - f_eq = (fun (self: t_u16) (rhs: t_u16) -> self._0 =. rhs._0); - f_ne_pre = (fun (self: t_u16) (rhs: t_u16) -> true); - f_ne_post = (fun (self: t_u16) (rhs: t_u16) (out: bool) -> true); - f_ne = fun (self: t_u16) (rhs: t_u16) -> ~.(self._0 =. rhs._0 <: bool) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_32: Core.Cmp.t_PartialOrd t_u16 t_u16 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_u16) (rhs: t_u16) -> true); - f_partial_cmp_post - = - (fun (self: t_u16) (rhs: t_u16) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_u16) (rhs: t_u16) -> - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U16 - #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0); - f_lt_pre = (fun (self: t_u16) (rhs: t_u16) -> true); - f_lt_post = (fun (self: t_u16) (rhs: t_u16) (out: bool) -> true); - f_lt - = - (fun (self: t_u16) (rhs: t_u16) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U16 - #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) -> true - | _ -> false); - f_le_pre = (fun (self: t_u16) (rhs: t_u16) -> true); - f_le_post = (fun (self: t_u16) (rhs: t_u16) (out: bool) -> true); - f_le - = - (fun (self: t_u16) (rhs: t_u16) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U16 - #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false); - f_gt_pre = (fun (self: t_u16) (rhs: t_u16) -> true); - f_gt_post = (fun (self: t_u16) (rhs: t_u16) (out: bool) -> true); - f_gt - = - (fun (self: t_u16) (rhs: t_u16) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U16 - #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) -> true - | _ -> false); - f_ge_pre = (fun (self: t_u16) (rhs: t_u16) -> true); - f_ge_post = (fun (self: t_u16) (rhs: t_u16) (out: bool) -> true); - f_ge - = - fun (self: t_u16) (rhs: t_u16) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U16 - #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_33: Core.Cmp.t_PartialEq t_u32 t_u32 = - { - f_eq_pre = (fun (self: t_u32) (rhs: t_u32) -> true); - f_eq_post = (fun (self: t_u32) (rhs: t_u32) (out: bool) -> true); - f_eq = (fun (self: t_u32) (rhs: t_u32) -> self._0 =. rhs._0); - f_ne_pre = (fun (self: t_u32) (rhs: t_u32) -> true); - f_ne_post = (fun (self: t_u32) (rhs: t_u32) (out: bool) -> true); - f_ne = fun (self: t_u32) (rhs: t_u32) -> ~.(self._0 =. rhs._0 <: bool) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_34: Core.Cmp.t_PartialOrd t_u32 t_u32 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_u32) (rhs: t_u32) -> true); - f_partial_cmp_post - = - (fun (self: t_u32) (rhs: t_u32) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_u32) (rhs: t_u32) -> - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U32 - #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0); - f_lt_pre = (fun (self: t_u32) (rhs: t_u32) -> true); - f_lt_post = (fun (self: t_u32) (rhs: t_u32) (out: bool) -> true); - f_lt - = - (fun (self: t_u32) (rhs: t_u32) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U32 - #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) -> true - | _ -> false); - f_le_pre = (fun (self: t_u32) (rhs: t_u32) -> true); - f_le_post = (fun (self: t_u32) (rhs: t_u32) (out: bool) -> true); - f_le - = - (fun (self: t_u32) (rhs: t_u32) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U32 - #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false); - f_gt_pre = (fun (self: t_u32) (rhs: t_u32) -> true); - f_gt_post = (fun (self: t_u32) (rhs: t_u32) (out: bool) -> true); - f_gt - = - (fun (self: t_u32) (rhs: t_u32) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U32 - #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) -> true - | _ -> false); - f_ge_pre = (fun (self: t_u32) (rhs: t_u32) -> true); - f_ge_post = (fun (self: t_u32) (rhs: t_u32) (out: bool) -> true); - f_ge - = - fun (self: t_u32) (rhs: t_u32) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U32 - #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_35: Core.Cmp.t_PartialEq t_u64 t_u64 = - { - f_eq_pre = (fun (self: t_u64) (rhs: t_u64) -> true); - f_eq_post = (fun (self: t_u64) (rhs: t_u64) (out: bool) -> true); - f_eq = (fun (self: t_u64) (rhs: t_u64) -> self._0 =. rhs._0); - f_ne_pre = (fun (self: t_u64) (rhs: t_u64) -> true); - f_ne_post = (fun (self: t_u64) (rhs: t_u64) (out: bool) -> true); - f_ne = fun (self: t_u64) (rhs: t_u64) -> ~.(self._0 =. rhs._0 <: bool) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_36: Core.Cmp.t_PartialOrd t_u64 t_u64 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_u64) (rhs: t_u64) -> true); - f_partial_cmp_post - = - (fun (self: t_u64) (rhs: t_u64) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_u64) (rhs: t_u64) -> - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0); - f_lt_pre = (fun (self: t_u64) (rhs: t_u64) -> true); - f_lt_post = (fun (self: t_u64) (rhs: t_u64) (out: bool) -> true); - f_lt - = - (fun (self: t_u64) (rhs: t_u64) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) -> true - | _ -> false); - f_le_pre = (fun (self: t_u64) (rhs: t_u64) -> true); - f_le_post = (fun (self: t_u64) (rhs: t_u64) (out: bool) -> true); - f_le - = - (fun (self: t_u64) (rhs: t_u64) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false); - f_gt_pre = (fun (self: t_u64) (rhs: t_u64) -> true); - f_gt_post = (fun (self: t_u64) (rhs: t_u64) (out: bool) -> true); - f_gt - = - (fun (self: t_u64) (rhs: t_u64) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) -> true - | _ -> false); - f_ge_pre = (fun (self: t_u64) (rhs: t_u64) -> true); - f_ge_post = (fun (self: t_u64) (rhs: t_u64) (out: bool) -> true); - f_ge - = - fun (self: t_u64) (rhs: t_u64) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_37: Core.Cmp.t_PartialEq t_u128 t_u128 = - { - f_eq_pre = (fun (self: t_u128) (rhs: t_u128) -> true); - f_eq_post = (fun (self: t_u128) (rhs: t_u128) (out: bool) -> true); - f_eq = (fun (self: t_u128) (rhs: t_u128) -> self._0 =. rhs._0); - f_ne_pre = (fun (self: t_u128) (rhs: t_u128) -> true); - f_ne_post = (fun (self: t_u128) (rhs: t_u128) (out: bool) -> true); - f_ne = fun (self: t_u128) (rhs: t_u128) -> ~.(self._0 =. rhs._0 <: bool) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_38: Core.Cmp.t_PartialOrd t_u128 t_u128 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_u128) (rhs: t_u128) -> true); - f_partial_cmp_post - = - (fun (self: t_u128) (rhs: t_u128) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_u128) (rhs: t_u128) -> - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U128 - #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0); - f_lt_pre = (fun (self: t_u128) (rhs: t_u128) -> true); - f_lt_post = (fun (self: t_u128) (rhs: t_u128) (out: bool) -> true); - f_lt - = - (fun (self: t_u128) (rhs: t_u128) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U128 - #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) -> true - | _ -> false); - f_le_pre = (fun (self: t_u128) (rhs: t_u128) -> true); - f_le_post = (fun (self: t_u128) (rhs: t_u128) (out: bool) -> true); - f_le - = - (fun (self: t_u128) (rhs: t_u128) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U128 - #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false); - f_gt_pre = (fun (self: t_u128) (rhs: t_u128) -> true); - f_gt_post = (fun (self: t_u128) (rhs: t_u128) (out: bool) -> true); - f_gt - = - (fun (self: t_u128) (rhs: t_u128) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U128 - #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) -> true - | _ -> false); - f_ge_pre = (fun (self: t_u128) (rhs: t_u128) -> true); - f_ge_post = (fun (self: t_u128) (rhs: t_u128) (out: bool) -> true); - f_ge - = - fun (self: t_u128) (rhs: t_u128) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U128 - #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_39: Core.Cmp.t_PartialEq t_usize t_usize = - { - f_eq_pre = (fun (self: t_usize) (rhs: t_usize) -> true); - f_eq_post = (fun (self: t_usize) (rhs: t_usize) (out: bool) -> true); - f_eq = (fun (self: t_usize) (rhs: t_usize) -> self._0 =. rhs._0); - f_ne_pre = (fun (self: t_usize) (rhs: t_usize) -> true); - f_ne_post = (fun (self: t_usize) (rhs: t_usize) (out: bool) -> true); - f_ne = fun (self: t_usize) (rhs: t_usize) -> ~.(self._0 =. rhs._0 <: bool) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_40: Core.Cmp.t_PartialOrd t_usize t_usize = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_usize) (rhs: t_usize) -> true); - f_partial_cmp_post - = - (fun (self: t_usize) (rhs: t_usize) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_usize) (rhs: t_usize) -> - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0); - f_lt_pre = (fun (self: t_usize) (rhs: t_usize) -> true); - f_lt_post = (fun (self: t_usize) (rhs: t_usize) (out: bool) -> true); - f_lt - = - (fun (self: t_usize) (rhs: t_usize) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) -> true - | _ -> false); - f_le_pre = (fun (self: t_usize) (rhs: t_usize) -> true); - f_le_post = (fun (self: t_usize) (rhs: t_usize) (out: bool) -> true); - f_le - = - (fun (self: t_usize) (rhs: t_usize) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false); - f_gt_pre = (fun (self: t_usize) (rhs: t_usize) -> true); - f_gt_post = (fun (self: t_usize) (rhs: t_usize) (out: bool) -> true); - f_gt - = - (fun (self: t_usize) (rhs: t_usize) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) -> true - | _ -> false); - f_ge_pre = (fun (self: t_usize) (rhs: t_usize) -> true); - f_ge_post = (fun (self: t_usize) (rhs: t_usize) (out: bool) -> true); - f_ge - = - fun (self: t_usize) (rhs: t_usize) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_41: Core.Cmp.t_PartialEq t_i8 t_i8 = - { - f_eq_pre = (fun (self: t_i8) (rhs: t_i8) -> true); - f_eq_post = (fun (self: t_i8) (rhs: t_i8) (out: bool) -> true); - f_eq = (fun (self: t_i8) (rhs: t_i8) -> self._0 =. rhs._0); - f_ne_pre = (fun (self: t_i8) (rhs: t_i8) -> true); - f_ne_post = (fun (self: t_i8) (rhs: t_i8) (out: bool) -> true); - f_ne = fun (self: t_i8) (rhs: t_i8) -> ~.(self._0 =. rhs._0 <: bool) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_42: Core.Cmp.t_PartialOrd t_i8 t_i8 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_i8) (rhs: t_i8) -> true); - f_partial_cmp_post - = - (fun (self: t_i8) (rhs: t_i8) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_i8) (rhs: t_i8) -> - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I8 - #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0); - f_lt_pre = (fun (self: t_i8) (rhs: t_i8) -> true); - f_lt_post = (fun (self: t_i8) (rhs: t_i8) (out: bool) -> true); - f_lt - = - (fun (self: t_i8) (rhs: t_i8) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I8 - #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) -> true - | _ -> false); - f_le_pre = (fun (self: t_i8) (rhs: t_i8) -> true); - f_le_post = (fun (self: t_i8) (rhs: t_i8) (out: bool) -> true); - f_le - = - (fun (self: t_i8) (rhs: t_i8) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I8 - #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false); - f_gt_pre = (fun (self: t_i8) (rhs: t_i8) -> true); - f_gt_post = (fun (self: t_i8) (rhs: t_i8) (out: bool) -> true); - f_gt - = - (fun (self: t_i8) (rhs: t_i8) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I8 - #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) -> true - | _ -> false); - f_ge_pre = (fun (self: t_i8) (rhs: t_i8) -> true); - f_ge_post = (fun (self: t_i8) (rhs: t_i8) (out: bool) -> true); - f_ge - = - fun (self: t_i8) (rhs: t_i8) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I8 - #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_43: Core.Cmp.t_PartialEq t_i16 t_i16 = - { - f_eq_pre = (fun (self: t_i16) (rhs: t_i16) -> true); - f_eq_post = (fun (self: t_i16) (rhs: t_i16) (out: bool) -> true); - f_eq = (fun (self: t_i16) (rhs: t_i16) -> self._0 =. rhs._0); - f_ne_pre = (fun (self: t_i16) (rhs: t_i16) -> true); - f_ne_post = (fun (self: t_i16) (rhs: t_i16) (out: bool) -> true); - f_ne = fun (self: t_i16) (rhs: t_i16) -> ~.(self._0 =. rhs._0 <: bool) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_44: Core.Cmp.t_PartialOrd t_i16 t_i16 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_i16) (rhs: t_i16) -> true); - f_partial_cmp_post - = - (fun (self: t_i16) (rhs: t_i16) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_i16) (rhs: t_i16) -> - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I16 - #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0); - f_lt_pre = (fun (self: t_i16) (rhs: t_i16) -> true); - f_lt_post = (fun (self: t_i16) (rhs: t_i16) (out: bool) -> true); - f_lt - = - (fun (self: t_i16) (rhs: t_i16) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I16 - #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) -> true - | _ -> false); - f_le_pre = (fun (self: t_i16) (rhs: t_i16) -> true); - f_le_post = (fun (self: t_i16) (rhs: t_i16) (out: bool) -> true); - f_le - = - (fun (self: t_i16) (rhs: t_i16) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I16 - #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false); - f_gt_pre = (fun (self: t_i16) (rhs: t_i16) -> true); - f_gt_post = (fun (self: t_i16) (rhs: t_i16) (out: bool) -> true); - f_gt - = - (fun (self: t_i16) (rhs: t_i16) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I16 - #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) -> true - | _ -> false); - f_ge_pre = (fun (self: t_i16) (rhs: t_i16) -> true); - f_ge_post = (fun (self: t_i16) (rhs: t_i16) (out: bool) -> true); - f_ge - = - fun (self: t_i16) (rhs: t_i16) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I16 - #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_45: Core.Cmp.t_PartialEq t_i32 t_i32 = - { - f_eq_pre = (fun (self: t_i32) (rhs: t_i32) -> true); - f_eq_post = (fun (self: t_i32) (rhs: t_i32) (out: bool) -> true); - f_eq = (fun (self: t_i32) (rhs: t_i32) -> self._0 =. rhs._0); - f_ne_pre = (fun (self: t_i32) (rhs: t_i32) -> true); - f_ne_post = (fun (self: t_i32) (rhs: t_i32) (out: bool) -> true); - f_ne = fun (self: t_i32) (rhs: t_i32) -> ~.(self._0 =. rhs._0 <: bool) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_46: Core.Cmp.t_PartialOrd t_i32 t_i32 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_i32) (rhs: t_i32) -> true); - f_partial_cmp_post - = - (fun (self: t_i32) (rhs: t_i32) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_i32) (rhs: t_i32) -> - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I32 - #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0); - f_lt_pre = (fun (self: t_i32) (rhs: t_i32) -> true); - f_lt_post = (fun (self: t_i32) (rhs: t_i32) (out: bool) -> true); - f_lt - = - (fun (self: t_i32) (rhs: t_i32) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I32 - #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) -> true - | _ -> false); - f_le_pre = (fun (self: t_i32) (rhs: t_i32) -> true); - f_le_post = (fun (self: t_i32) (rhs: t_i32) (out: bool) -> true); - f_le - = - (fun (self: t_i32) (rhs: t_i32) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I32 - #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false); - f_gt_pre = (fun (self: t_i32) (rhs: t_i32) -> true); - f_gt_post = (fun (self: t_i32) (rhs: t_i32) (out: bool) -> true); - f_gt - = - (fun (self: t_i32) (rhs: t_i32) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I32 - #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) -> true - | _ -> false); - f_ge_pre = (fun (self: t_i32) (rhs: t_i32) -> true); - f_ge_post = (fun (self: t_i32) (rhs: t_i32) (out: bool) -> true); - f_ge - = - fun (self: t_i32) (rhs: t_i32) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I32 - #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_47: Core.Cmp.t_PartialEq t_i64 t_i64 = - { - f_eq_pre = (fun (self: t_i64) (rhs: t_i64) -> true); - f_eq_post = (fun (self: t_i64) (rhs: t_i64) (out: bool) -> true); - f_eq = (fun (self: t_i64) (rhs: t_i64) -> self._0 =. rhs._0); - f_ne_pre = (fun (self: t_i64) (rhs: t_i64) -> true); - f_ne_post = (fun (self: t_i64) (rhs: t_i64) (out: bool) -> true); - f_ne = fun (self: t_i64) (rhs: t_i64) -> ~.(self._0 =. rhs._0 <: bool) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_48: Core.Cmp.t_PartialOrd t_i64 t_i64 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_i64) (rhs: t_i64) -> true); - f_partial_cmp_post - = - (fun (self: t_i64) (rhs: t_i64) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_i64) (rhs: t_i64) -> - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0); - f_lt_pre = (fun (self: t_i64) (rhs: t_i64) -> true); - f_lt_post = (fun (self: t_i64) (rhs: t_i64) (out: bool) -> true); - f_lt - = - (fun (self: t_i64) (rhs: t_i64) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) -> true - | _ -> false); - f_le_pre = (fun (self: t_i64) (rhs: t_i64) -> true); - f_le_post = (fun (self: t_i64) (rhs: t_i64) (out: bool) -> true); - f_le - = - (fun (self: t_i64) (rhs: t_i64) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false); - f_gt_pre = (fun (self: t_i64) (rhs: t_i64) -> true); - f_gt_post = (fun (self: t_i64) (rhs: t_i64) (out: bool) -> true); - f_gt - = - (fun (self: t_i64) (rhs: t_i64) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) -> true - | _ -> false); - f_ge_pre = (fun (self: t_i64) (rhs: t_i64) -> true); - f_ge_post = (fun (self: t_i64) (rhs: t_i64) (out: bool) -> true); - f_ge - = - fun (self: t_i64) (rhs: t_i64) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_49: Core.Cmp.t_PartialEq t_i128 t_i128 = - { - f_eq_pre = (fun (self: t_i128) (rhs: t_i128) -> true); - f_eq_post = (fun (self: t_i128) (rhs: t_i128) (out: bool) -> true); - f_eq = (fun (self: t_i128) (rhs: t_i128) -> self._0 =. rhs._0); - f_ne_pre = (fun (self: t_i128) (rhs: t_i128) -> true); - f_ne_post = (fun (self: t_i128) (rhs: t_i128) (out: bool) -> true); - f_ne = fun (self: t_i128) (rhs: t_i128) -> ~.(self._0 =. rhs._0 <: bool) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_50: Core.Cmp.t_PartialOrd t_i128 t_i128 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_i128) (rhs: t_i128) -> true); - f_partial_cmp_post - = - (fun (self: t_i128) (rhs: t_i128) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_i128) (rhs: t_i128) -> - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I128 - #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0); - f_lt_pre = (fun (self: t_i128) (rhs: t_i128) -> true); - f_lt_post = (fun (self: t_i128) (rhs: t_i128) (out: bool) -> true); - f_lt - = - (fun (self: t_i128) (rhs: t_i128) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I128 - #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) -> true - | _ -> false); - f_le_pre = (fun (self: t_i128) (rhs: t_i128) -> true); - f_le_post = (fun (self: t_i128) (rhs: t_i128) (out: bool) -> true); - f_le - = - (fun (self: t_i128) (rhs: t_i128) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I128 - #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false); - f_gt_pre = (fun (self: t_i128) (rhs: t_i128) -> true); - f_gt_post = (fun (self: t_i128) (rhs: t_i128) (out: bool) -> true); - f_gt - = - (fun (self: t_i128) (rhs: t_i128) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I128 - #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) -> true - | _ -> false); - f_ge_pre = (fun (self: t_i128) (rhs: t_i128) -> true); - f_ge_post = (fun (self: t_i128) (rhs: t_i128) (out: bool) -> true); - f_ge - = - fun (self: t_i128) (rhs: t_i128) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I128 - #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_51: Core.Cmp.t_PartialEq t_isize t_isize = - { - f_eq_pre = (fun (self: t_isize) (rhs: t_isize) -> true); - f_eq_post = (fun (self: t_isize) (rhs: t_isize) (out: bool) -> true); - f_eq = (fun (self: t_isize) (rhs: t_isize) -> self._0 =. rhs._0); - f_ne_pre = (fun (self: t_isize) (rhs: t_isize) -> true); - f_ne_post = (fun (self: t_isize) (rhs: t_isize) (out: bool) -> true); - f_ne = fun (self: t_isize) (rhs: t_isize) -> ~.(self._0 =. rhs._0 <: bool) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_52: Core.Cmp.t_PartialOrd t_isize t_isize = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_isize) (rhs: t_isize) -> true); - f_partial_cmp_post - = - (fun (self: t_isize) (rhs: t_isize) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_isize) (rhs: t_isize) -> - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0); - f_lt_pre = (fun (self: t_isize) (rhs: t_isize) -> true); - f_lt_post = (fun (self: t_isize) (rhs: t_isize) (out: bool) -> true); - f_lt - = - (fun (self: t_isize) (rhs: t_isize) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) -> true - | _ -> false); - f_le_pre = (fun (self: t_isize) (rhs: t_isize) -> true); - f_le_post = (fun (self: t_isize) (rhs: t_isize) (out: bool) -> true); - f_le - = - (fun (self: t_isize) (rhs: t_isize) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false); - f_gt_pre = (fun (self: t_isize) (rhs: t_isize) -> true); - f_gt_post = (fun (self: t_isize) (rhs: t_isize) (out: bool) -> true); - f_gt - = - (fun (self: t_isize) (rhs: t_isize) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) -> true - | _ -> false); - f_ge_pre = (fun (self: t_isize) (rhs: t_isize) -> true); - f_ge_post = (fun (self: t_isize) (rhs: t_isize) (out: bool) -> true); - f_ge - = - fun (self: t_isize) (rhs: t_isize) -> - match - Core.Cmp.f_partial_cmp #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - self._0 - rhs._0 - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Greater ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl: Core.Convert.t_From t_u8 u8 = - { - f_from_pre = (fun (x: u8) -> true); - f_from_post = (fun (x: u8) (out: t_u8) -> true); - f_from - = - fun (x: u8) -> - t_u8 - ({ - Core.Base_interface.Int.f_v - = - Core.Convert.f_into #u8 #Core.Base.Spec.Haxint.t_HaxInt #FStar.Tactics.Typeclasses.solve x - } - <: - Core.Base_interface.Int.t_U8) - <: - t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_1: Core.Convert.t_From u8 t_u8 = - { - f_from_pre = (fun (x: t_u8) -> true); - f_from_post = (fun (x: t_u8) (out: u8) -> true); - f_from - = - fun (x: t_u8) -> - Core.Convert.f_into #Core.Base.Spec.Haxint.t_HaxInt - #u8 - #FStar.Tactics.Typeclasses.solve - x._0.Core.Base_interface.Int.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_2: Core.Convert.t_From t_u16 u16 = - { - f_from_pre = (fun (x: u16) -> true); - f_from_post = (fun (x: u16) (out: t_u16) -> true); - f_from - = - fun (x: u16) -> - t_u16 - ({ - Core.Base_interface.Int.f_v - = - Core.Convert.f_into #u16 - #Core.Base.Spec.Haxint.t_HaxInt - #FStar.Tactics.Typeclasses.solve - x - } - <: - Core.Base_interface.Int.t_U16) - <: - t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_3: Core.Convert.t_From u16 t_u16 = - { - f_from_pre = (fun (x: t_u16) -> true); - f_from_post = (fun (x: t_u16) (out: u16) -> true); - f_from - = - fun (x: t_u16) -> - Core.Convert.f_into #Core.Base.Spec.Haxint.t_HaxInt - #u16 - #FStar.Tactics.Typeclasses.solve - x._0.Core.Base_interface.Int.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_4: Core.Convert.t_From t_u32 u32 = - { - f_from_pre = (fun (x: u32) -> true); - f_from_post = (fun (x: u32) (out: t_u32) -> true); - f_from - = - fun (x: u32) -> - t_u32 - ({ - Core.Base_interface.Int.f_v - = - Core.Convert.f_into #u32 - #Core.Base.Spec.Haxint.t_HaxInt - #FStar.Tactics.Typeclasses.solve - x - } - <: - Core.Base_interface.Int.t_U32) - <: - t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_5: Core.Convert.t_From u32 t_u32 = - { - f_from_pre = (fun (x: t_u32) -> true); - f_from_post = (fun (x: t_u32) (out: u32) -> true); - f_from - = - fun (x: t_u32) -> - Core.Convert.f_into #Core.Base.Spec.Haxint.t_HaxInt - #u32 - #FStar.Tactics.Typeclasses.solve - x._0.Core.Base_interface.Int.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_6: Core.Convert.t_From t_u64 u64 = - { - f_from_pre = (fun (x: u64) -> true); - f_from_post = (fun (x: u64) (out: t_u64) -> true); - f_from - = - fun (x: u64) -> - t_u64 - ({ - Core.Base_interface.Int.f_v - = - Core.Convert.f_into #u64 - #Core.Base.Spec.Haxint.t_HaxInt - #FStar.Tactics.Typeclasses.solve - x - } - <: - Core.Base_interface.Int.t_U64) - <: - t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_7: Core.Convert.t_From u64 t_u64 = - { - f_from_pre = (fun (x: t_u64) -> true); - f_from_post = (fun (x: t_u64) (out: u64) -> true); - f_from - = - fun (x: t_u64) -> - Core.Convert.f_into #Core.Base.Spec.Haxint.t_HaxInt - #u64 - #FStar.Tactics.Typeclasses.solve - x._0.Core.Base_interface.Int.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_8: Core.Convert.t_From t_u128 u128 = - { - f_from_pre = (fun (x: u128) -> true); - f_from_post = (fun (x: u128) (out: t_u128) -> true); - f_from - = - fun (x: u128) -> - t_u128 - ({ - Core.Base_interface.Int.f_v - = - Core.Convert.f_into #u128 - #Core.Base.Spec.Haxint.t_HaxInt - #FStar.Tactics.Typeclasses.solve - x - } - <: - Core.Base_interface.Int.t_U128) - <: - t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_9: Core.Convert.t_From u128 t_u128 = - { - f_from_pre = (fun (x: t_u128) -> true); - f_from_post = (fun (x: t_u128) (out: u128) -> true); - f_from - = - fun (x: t_u128) -> - Core.Convert.f_into #Core.Base.Spec.Haxint.t_HaxInt - #u128 - #FStar.Tactics.Typeclasses.solve - x._0.Core.Base_interface.Int.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_10: Core.Convert.t_From t_usize usize = - { - f_from_pre = (fun (x: usize) -> true); - f_from_post = (fun (x: usize) (out: t_usize) -> true); - f_from - = - fun (x: usize) -> - t_usize - ({ - Core.Base_interface.Int.f_v - = - Core.Convert.f_into #usize - #Core.Base.Spec.Haxint.t_HaxInt - #FStar.Tactics.Typeclasses.solve - x - } - <: - Core.Base_interface.Int.t_U64) - <: - t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_11: Core.Convert.t_From usize t_usize = - { - f_from_pre = (fun (x: t_usize) -> true); - f_from_post = (fun (x: t_usize) (out: usize) -> true); - f_from - = - fun (x: t_usize) -> - Core.Convert.f_into #Core.Base.Spec.Haxint.t_HaxInt - #usize - #FStar.Tactics.Typeclasses.solve - x._0.Core.Base_interface.Int.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl: Core.Convert.t_From t_i8 i8 = - { - f_from_pre = (fun (x: i8) -> true); - f_from_post = (fun (x: i8) (out: t_i8) -> true); - f_from - = - fun (x: i8) -> - t_i8 - ({ - Core.Base_interface.Int.f_v - = - Core.Convert.f_into #i8 #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve x - } - <: - Core.Base_interface.Int.t_I8) - <: - t_i8 - } - -let is_negative350273175 (self: t_i8) : bool = - self <. (Core.Convert.f_into #i8 #t_i8 #FStar.Tactics.Typeclasses.solve 0y <: t_i8) - -let is_positive286955196 (self: t_i8) : bool = - self >. (Core.Convert.f_into #i8 #t_i8 #FStar.Tactics.Typeclasses.solve 0y <: t_i8) - -let signum721334203 (self: t_i8) : t_i8 = - if - (Core.Clone.f_clone #t_i8 #FStar.Tactics.Typeclasses.solve self <: t_i8) <. - (Core.Convert.f_into #i8 #t_i8 #FStar.Tactics.Typeclasses.solve 0y <: t_i8) - then Core.Convert.f_into #i8 #t_i8 #FStar.Tactics.Typeclasses.solve (-1y) - else - if self =. (Core.Convert.f_into #i8 #t_i8 #FStar.Tactics.Typeclasses.solve 0y <: t_i8) - then Core.Convert.f_into #i8 #t_i8 #FStar.Tactics.Typeclasses.solve 0y - else Core.Convert.f_into #i8 #t_i8 #FStar.Tactics.Typeclasses.solve 1y - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_1: Core.Convert.t_From i8 t_i8 = - { - f_from_pre = (fun (x: t_i8) -> true); - f_from_post = (fun (x: t_i8) (out: i8) -> true); - f_from - = - fun (x: t_i8) -> - Core.Convert.f_into #Core.Base.Spec.Z.t_Z - #i8 - #FStar.Tactics.Typeclasses.solve - x._0.Core.Base_interface.Int.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_2: Core.Convert.t_From t_i16 i16 = - { - f_from_pre = (fun (x: i16) -> true); - f_from_post = (fun (x: i16) (out: t_i16) -> true); - f_from - = - fun (x: i16) -> - t_i16 - ({ - Core.Base_interface.Int.f_v - = - Core.Convert.f_into #i16 #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve x - } - <: - Core.Base_interface.Int.t_I16) - <: - t_i16 - } - -let is_negative477067241 (self: t_i16) : bool = - self <. (Core.Convert.f_into #i16 #t_i16 #FStar.Tactics.Typeclasses.solve 0s <: t_i16) - -let is_positive821581438 (self: t_i16) : bool = - self >. (Core.Convert.f_into #i16 #t_i16 #FStar.Tactics.Typeclasses.solve 0s <: t_i16) - -let signum243706004 (self: t_i16) : t_i16 = - if - (Core.Clone.f_clone #t_i16 #FStar.Tactics.Typeclasses.solve self <: t_i16) <. - (Core.Convert.f_into #i16 #t_i16 #FStar.Tactics.Typeclasses.solve 0s <: t_i16) - then Core.Convert.f_into #i16 #t_i16 #FStar.Tactics.Typeclasses.solve (-1s) - else - if self =. (Core.Convert.f_into #i16 #t_i16 #FStar.Tactics.Typeclasses.solve 0s <: t_i16) - then Core.Convert.f_into #i16 #t_i16 #FStar.Tactics.Typeclasses.solve 0s - else Core.Convert.f_into #i16 #t_i16 #FStar.Tactics.Typeclasses.solve 1s - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_3: Core.Convert.t_From i16 t_i16 = - { - f_from_pre = (fun (x: t_i16) -> true); - f_from_post = (fun (x: t_i16) (out: i16) -> true); - f_from - = - fun (x: t_i16) -> - Core.Convert.f_into #Core.Base.Spec.Z.t_Z - #i16 - #FStar.Tactics.Typeclasses.solve - x._0.Core.Base_interface.Int.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_4: Core.Convert.t_From t_i32 i32 = - { - f_from_pre = (fun (x: i32) -> true); - f_from_post = (fun (x: i32) (out: t_i32) -> true); - f_from - = - fun (x: i32) -> - t_i32 - ({ - Core.Base_interface.Int.f_v - = - Core.Convert.f_into #i32 #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve x - } - <: - Core.Base_interface.Int.t_I32) - <: - t_i32 - } - -let is_negative1035644813 (self: t_i32) : bool = - self <. (Core.Convert.f_into #i32 #t_i32 #FStar.Tactics.Typeclasses.solve 0l <: t_i32) - -let is_positive401652342 (self: t_i32) : bool = - self >. (Core.Convert.f_into #i32 #t_i32 #FStar.Tactics.Typeclasses.solve 0l <: t_i32) - -let signum323641039 (self: t_i32) : t_i32 = - if - (Core.Clone.f_clone #t_i32 #FStar.Tactics.Typeclasses.solve self <: t_i32) <. - (Core.Convert.f_into #i32 #t_i32 #FStar.Tactics.Typeclasses.solve 0l <: t_i32) - then Core.Convert.f_into #i32 #t_i32 #FStar.Tactics.Typeclasses.solve (-1l) - else - if self =. (Core.Convert.f_into #i32 #t_i32 #FStar.Tactics.Typeclasses.solve 0l <: t_i32) - then Core.Convert.f_into #i32 #t_i32 #FStar.Tactics.Typeclasses.solve 0l - else Core.Convert.f_into #i32 #t_i32 #FStar.Tactics.Typeclasses.solve 1l - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_5: Core.Convert.t_From i32 t_i32 = - { - f_from_pre = (fun (x: t_i32) -> true); - f_from_post = (fun (x: t_i32) (out: i32) -> true); - f_from - = - fun (x: t_i32) -> - Core.Convert.f_into #Core.Base.Spec.Z.t_Z - #i32 - #FStar.Tactics.Typeclasses.solve - x._0.Core.Base_interface.Int.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_6: Core.Convert.t_From t_i64 i64 = - { - f_from_pre = (fun (x: i64) -> true); - f_from_post = (fun (x: i64) (out: t_i64) -> true); - f_from - = - fun (x: i64) -> - t_i64 - ({ - Core.Base_interface.Int.f_v - = - Core.Convert.f_into #i64 #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve x - } - <: - Core.Base_interface.Int.t_I64) - <: - t_i64 - } - -let is_negative1066124578 (self: t_i64) : bool = - self <. (Core.Convert.f_into #i64 #t_i64 #FStar.Tactics.Typeclasses.solve 0L <: t_i64) - -let is_positive16569358 (self: t_i64) : bool = - self >. (Core.Convert.f_into #i64 #t_i64 #FStar.Tactics.Typeclasses.solve 0L <: t_i64) - -let signum582963664 (self: t_i64) : t_i64 = - if - (Core.Clone.f_clone #t_i64 #FStar.Tactics.Typeclasses.solve self <: t_i64) <. - (Core.Convert.f_into #i64 #t_i64 #FStar.Tactics.Typeclasses.solve 0L <: t_i64) - then Core.Convert.f_into #i64 #t_i64 #FStar.Tactics.Typeclasses.solve (-1L) - else - if self =. (Core.Convert.f_into #i64 #t_i64 #FStar.Tactics.Typeclasses.solve 0L <: t_i64) - then Core.Convert.f_into #i64 #t_i64 #FStar.Tactics.Typeclasses.solve 0L - else Core.Convert.f_into #i64 #t_i64 #FStar.Tactics.Typeclasses.solve 1L - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_7: Core.Convert.t_From i64 t_i64 = - { - f_from_pre = (fun (x: t_i64) -> true); - f_from_post = (fun (x: t_i64) (out: i64) -> true); - f_from - = - fun (x: t_i64) -> - Core.Convert.f_into #Core.Base.Spec.Z.t_Z - #i64 - #FStar.Tactics.Typeclasses.solve - x._0.Core.Base_interface.Int.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_8: Core.Convert.t_From t_i128 i128 = - { - f_from_pre = (fun (x: i128) -> true); - f_from_post = (fun (x: i128) (out: t_i128) -> true); - f_from - = - fun (x: i128) -> - t_i128 - ({ - Core.Base_interface.Int.f_v - = - Core.Convert.f_into #i128 #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve x - } - <: - Core.Base_interface.Int.t_I128) - <: - t_i128 - } - -let is_negative221698470 (self: t_i128) : bool = - self <. - (Core.Convert.f_into #i128 #t_i128 #FStar.Tactics.Typeclasses.solve (pub_i128 0) <: t_i128) - -let is_positive883218309 (self: t_i128) : bool = - self >. - (Core.Convert.f_into #i128 #t_i128 #FStar.Tactics.Typeclasses.solve (pub_i128 0) <: t_i128) - -let signum408800799 (self: t_i128) : t_i128 = - if - (Core.Clone.f_clone #t_i128 #FStar.Tactics.Typeclasses.solve self <: t_i128) <. - (Core.Convert.f_into #i128 #t_i128 #FStar.Tactics.Typeclasses.solve (pub_i128 0) <: t_i128) - then Core.Convert.f_into #i128 #t_i128 #FStar.Tactics.Typeclasses.solve (pub_i128 (-1)) - else - if - self =. - (Core.Convert.f_into #i128 #t_i128 #FStar.Tactics.Typeclasses.solve (pub_i128 0) <: t_i128) - then Core.Convert.f_into #i128 #t_i128 #FStar.Tactics.Typeclasses.solve (pub_i128 0) - else Core.Convert.f_into #i128 #t_i128 #FStar.Tactics.Typeclasses.solve (pub_i128 1) - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_9: Core.Convert.t_From i128 t_i128 = - { - f_from_pre = (fun (x: t_i128) -> true); - f_from_post = (fun (x: t_i128) (out: i128) -> true); - f_from - = - fun (x: t_i128) -> - Core.Convert.f_into #Core.Base.Spec.Z.t_Z - #i128 - #FStar.Tactics.Typeclasses.solve - x._0.Core.Base_interface.Int.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_10: Core.Convert.t_From t_isize isize = - { - f_from_pre = (fun (x: isize) -> true); - f_from_post = (fun (x: isize) (out: t_isize) -> true); - f_from - = - fun (x: isize) -> - t_isize - ({ - Core.Base_interface.Int.f_v - = - Core.Convert.f_into #isize #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve x - } - <: - Core.Base_interface.Int.t_I64) - <: - t_isize - } - -let is_negative693446369 (self: t_isize) : bool = - self <. (Core.Convert.f_into #isize #t_isize #FStar.Tactics.Typeclasses.solve (isz 0) <: t_isize) - -let is_positive169998680 (self: t_isize) : bool = - self >. (Core.Convert.f_into #isize #t_isize #FStar.Tactics.Typeclasses.solve (isz 0) <: t_isize) - -let signum91486536 (self: t_isize) : t_isize = - if - (Core.Clone.f_clone #t_isize #FStar.Tactics.Typeclasses.solve self <: t_isize) <. - (Core.Convert.f_into #isize #t_isize #FStar.Tactics.Typeclasses.solve (isz 0) <: t_isize) - then Core.Convert.f_into #isize #t_isize #FStar.Tactics.Typeclasses.solve (isz (-1)) - else - if - self =. - (Core.Convert.f_into #isize #t_isize #FStar.Tactics.Typeclasses.solve (isz 0) <: t_isize) - then Core.Convert.f_into #isize #t_isize #FStar.Tactics.Typeclasses.solve (isz 0) - else Core.Convert.f_into #isize #t_isize #FStar.Tactics.Typeclasses.solve (isz 1) - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_11: Core.Convert.t_From isize t_isize = - { - f_from_pre = (fun (x: t_isize) -> true); - f_from_post = (fun (x: t_isize) (out: isize) -> true); - f_from - = - fun (x: t_isize) -> - Core.Convert.f_into #Core.Base.Spec.Z.t_Z - #isize - #FStar.Tactics.Typeclasses.solve - x._0.Core.Base_interface.Int.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_12: Core.Convert.t_From t_i16 t_i8 = - { - f_from_pre = (fun (x: t_i8) -> true); - f_from_post = (fun (x: t_i8) (out: t_i16) -> true); - f_from - = - fun (x: t_i8) -> - t_i16 - (Core.Convert.f_into #Core.Base_interface.Int.t_I8 - #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_13: Core.Convert.t_From t_i32 t_i8 = - { - f_from_pre = (fun (x: t_i8) -> true); - f_from_post = (fun (x: t_i8) (out: t_i32) -> true); - f_from - = - fun (x: t_i8) -> - t_i32 - (Core.Convert.f_into #Core.Base_interface.Int.t_I8 - #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_14: Core.Convert.t_From t_i64 t_i8 = - { - f_from_pre = (fun (x: t_i8) -> true); - f_from_post = (fun (x: t_i8) (out: t_i64) -> true); - f_from - = - fun (x: t_i8) -> - t_i64 - (Core.Convert.f_into #Core.Base_interface.Int.t_I8 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_15: Core.Convert.t_From t_i128 t_i8 = - { - f_from_pre = (fun (x: t_i8) -> true); - f_from_post = (fun (x: t_i8) (out: t_i128) -> true); - f_from - = - fun (x: t_i8) -> - t_i128 - (Core.Convert.f_into #Core.Base_interface.Int.t_I8 - #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_16: Core.Convert.t_From t_isize t_i8 = - { - f_from_pre = (fun (x: t_i8) -> true); - f_from_post = (fun (x: t_i8) (out: t_isize) -> true); - f_from - = - fun (x: t_i8) -> - t_isize - (Core.Convert.f_into #Core.Base_interface.Int.t_I8 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_isize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_17: Core.Convert.t_From t_i8 t_i16 = - { - f_from_pre = (fun (x: t_i16) -> true); - f_from_post = (fun (x: t_i16) (out: t_i8) -> true); - f_from - = - fun (x: t_i16) -> - t_i8 - (Core.Convert.f_into #Core.Base_interface.Int.t_I16 - #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_18: Core.Convert.t_From t_i32 t_i16 = - { - f_from_pre = (fun (x: t_i16) -> true); - f_from_post = (fun (x: t_i16) (out: t_i32) -> true); - f_from - = - fun (x: t_i16) -> - t_i32 - (Core.Convert.f_into #Core.Base_interface.Int.t_I16 - #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_19: Core.Convert.t_From t_i64 t_i16 = - { - f_from_pre = (fun (x: t_i16) -> true); - f_from_post = (fun (x: t_i16) (out: t_i64) -> true); - f_from - = - fun (x: t_i16) -> - t_i64 - (Core.Convert.f_into #Core.Base_interface.Int.t_I16 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_20: Core.Convert.t_From t_i128 t_i16 = - { - f_from_pre = (fun (x: t_i16) -> true); - f_from_post = (fun (x: t_i16) (out: t_i128) -> true); - f_from - = - fun (x: t_i16) -> - t_i128 - (Core.Convert.f_into #Core.Base_interface.Int.t_I16 - #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_21: Core.Convert.t_From t_isize t_i16 = - { - f_from_pre = (fun (x: t_i16) -> true); - f_from_post = (fun (x: t_i16) (out: t_isize) -> true); - f_from - = - fun (x: t_i16) -> - t_isize - (Core.Convert.f_into #Core.Base_interface.Int.t_I16 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_isize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_22: Core.Convert.t_From t_i8 t_i32 = - { - f_from_pre = (fun (x: t_i32) -> true); - f_from_post = (fun (x: t_i32) (out: t_i8) -> true); - f_from - = - fun (x: t_i32) -> - t_i8 - (Core.Convert.f_into #Core.Base_interface.Int.t_I32 - #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_23: Core.Convert.t_From t_i16 t_i32 = - { - f_from_pre = (fun (x: t_i32) -> true); - f_from_post = (fun (x: t_i32) (out: t_i16) -> true); - f_from - = - fun (x: t_i32) -> - t_i16 - (Core.Convert.f_into #Core.Base_interface.Int.t_I32 - #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_24: Core.Convert.t_From t_i64 t_i32 = - { - f_from_pre = (fun (x: t_i32) -> true); - f_from_post = (fun (x: t_i32) (out: t_i64) -> true); - f_from - = - fun (x: t_i32) -> - t_i64 - (Core.Convert.f_into #Core.Base_interface.Int.t_I32 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_25: Core.Convert.t_From t_i128 t_i32 = - { - f_from_pre = (fun (x: t_i32) -> true); - f_from_post = (fun (x: t_i32) (out: t_i128) -> true); - f_from - = - fun (x: t_i32) -> - t_i128 - (Core.Convert.f_into #Core.Base_interface.Int.t_I32 - #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_26: Core.Convert.t_From t_isize t_i32 = - { - f_from_pre = (fun (x: t_i32) -> true); - f_from_post = (fun (x: t_i32) (out: t_isize) -> true); - f_from - = - fun (x: t_i32) -> - t_isize - (Core.Convert.f_into #Core.Base_interface.Int.t_I32 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_isize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_27: Core.Convert.t_From t_i8 t_i64 = - { - f_from_pre = (fun (x: t_i64) -> true); - f_from_post = (fun (x: t_i64) (out: t_i8) -> true); - f_from - = - fun (x: t_i64) -> - t_i8 - (Core.Convert.f_into #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_28: Core.Convert.t_From t_i16 t_i64 = - { - f_from_pre = (fun (x: t_i64) -> true); - f_from_post = (fun (x: t_i64) (out: t_i16) -> true); - f_from - = - fun (x: t_i64) -> - t_i16 - (Core.Convert.f_into #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_29: Core.Convert.t_From t_i32 t_i64 = - { - f_from_pre = (fun (x: t_i64) -> true); - f_from_post = (fun (x: t_i64) (out: t_i32) -> true); - f_from - = - fun (x: t_i64) -> - t_i32 - (Core.Convert.f_into #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_30: Core.Convert.t_From t_i128 t_i64 = - { - f_from_pre = (fun (x: t_i64) -> true); - f_from_post = (fun (x: t_i64) (out: t_i128) -> true); - f_from - = - fun (x: t_i64) -> - t_i128 - (Core.Convert.f_into #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_32: Core.Convert.t_From t_i8 t_i128 = - { - f_from_pre = (fun (x: t_i128) -> true); - f_from_post = (fun (x: t_i128) (out: t_i8) -> true); - f_from - = - fun (x: t_i128) -> - t_i8 - (Core.Convert.f_into #Core.Base_interface.Int.t_I128 - #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_33: Core.Convert.t_From t_i16 t_i128 = - { - f_from_pre = (fun (x: t_i128) -> true); - f_from_post = (fun (x: t_i128) (out: t_i16) -> true); - f_from - = - fun (x: t_i128) -> - t_i16 - (Core.Convert.f_into #Core.Base_interface.Int.t_I128 - #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_34: Core.Convert.t_From t_i32 t_i128 = - { - f_from_pre = (fun (x: t_i128) -> true); - f_from_post = (fun (x: t_i128) (out: t_i32) -> true); - f_from - = - fun (x: t_i128) -> - t_i32 - (Core.Convert.f_into #Core.Base_interface.Int.t_I128 - #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_35: Core.Convert.t_From t_i64 t_i128 = - { - f_from_pre = (fun (x: t_i128) -> true); - f_from_post = (fun (x: t_i128) (out: t_i64) -> true); - f_from - = - fun (x: t_i128) -> - t_i64 - (Core.Convert.f_into #Core.Base_interface.Int.t_I128 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_36: Core.Convert.t_From t_isize t_i128 = - { - f_from_pre = (fun (x: t_i128) -> true); - f_from_post = (fun (x: t_i128) (out: t_isize) -> true); - f_from - = - fun (x: t_i128) -> - t_isize - (Core.Convert.f_into #Core.Base_interface.Int.t_I128 - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_isize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_37: Core.Convert.t_From t_i8 t_isize = - { - f_from_pre = (fun (x: t_isize) -> true); - f_from_post = (fun (x: t_isize) (out: t_i8) -> true); - f_from - = - fun (x: t_isize) -> - t_i8 - (Core.Convert.f_into #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_38: Core.Convert.t_From t_i16 t_isize = - { - f_from_pre = (fun (x: t_isize) -> true); - f_from_post = (fun (x: t_isize) (out: t_i16) -> true); - f_from - = - fun (x: t_isize) -> - t_i16 - (Core.Convert.f_into #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_39: Core.Convert.t_From t_i32 t_isize = - { - f_from_pre = (fun (x: t_isize) -> true); - f_from_post = (fun (x: t_isize) (out: t_i32) -> true); - f_from - = - fun (x: t_isize) -> - t_i32 - (Core.Convert.f_into #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_41: Core.Convert.t_From t_i128 t_isize = - { - f_from_pre = (fun (x: t_isize) -> true); - f_from_post = (fun (x: t_isize) (out: t_i128) -> true); - f_from - = - fun (x: t_isize) -> - t_i128 - (Core.Convert.f_into #Core.Base_interface.Int.t_I64 - #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_i128 - } - -/// The methods `index` and `index_mut` panic if the index is out of bounds. -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_1 (#v_T: Type0) (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - : v_SliceIndex t_usize (t_Slice v_T) = - { - _super_9346575357466912174 = FStar.Tactics.Typeclasses.solve; - f_Output = v_T; - f_index_pre = (fun (self: t_usize) (slice: t_Slice v_T) -> true); - f_index_post = (fun (self: t_usize) (slice: t_Slice v_T) (out: v_T) -> true); - f_index - = - fun (self: t_usize) (slice: t_Slice v_T) -> - let (x: usize):usize = - Core.Convert.f_into #Core.Base.Spec.Haxint.t_HaxInt - #usize - #FStar.Tactics.Typeclasses.solve - self._0.Core.Base_interface.Int.f_v - in - slice.f_v.f_v.[ x ] - } - -let add_with_overflow_i128 (x y: t_i128) : (t_i128 & bool) = - let overflow:Core.Base.Spec.Z.t_Z = - Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - in - let (res: Core.Base_interface.Int.t_I128):Core.Base_interface.Int.t_I128 = - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve overflow - <: - Core.Base.Spec.Z.t_Z) - in - (t_i128 (Core.Clone.f_clone #Core.Base_interface.Int.t_I128 #FStar.Tactics.Typeclasses.solve res) - <: - t_i128), - Core.Base.Z.z_lt (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - res - <: - Core.Base.Spec.Z.t_Z) - overflow - <: - (t_i128 & bool) - -let add_with_overflow_i16 (x y: t_i16) : (t_i16 & bool) = - let overflow:Core.Base.Spec.Z.t_Z = - Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - in - let (res: Core.Base_interface.Int.t_I16):Core.Base_interface.Int.t_I16 = - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve overflow - <: - Core.Base.Spec.Z.t_Z) - in - (t_i16 (Core.Clone.f_clone #Core.Base_interface.Int.t_I16 #FStar.Tactics.Typeclasses.solve res) - <: - t_i16), - Core.Base.Z.z_lt (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - res - <: - Core.Base.Spec.Z.t_Z) - overflow - <: - (t_i16 & bool) - -let add_with_overflow_i32 (x y: t_i32) : (t_i32 & bool) = - let overflow:Core.Base.Spec.Z.t_Z = - Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - in - let (res: Core.Base_interface.Int.t_I32):Core.Base_interface.Int.t_I32 = - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve overflow - <: - Core.Base.Spec.Z.t_Z) - in - (t_i32 (Core.Clone.f_clone #Core.Base_interface.Int.t_I32 #FStar.Tactics.Typeclasses.solve res) - <: - t_i32), - Core.Base.Z.z_lt (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - res - <: - Core.Base.Spec.Z.t_Z) - overflow - <: - (t_i32 & bool) - -let add_with_overflow_i64 (x y: t_i64) : (t_i64 & bool) = - let overflow:Core.Base.Spec.Z.t_Z = - Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - in - let (res: Core.Base_interface.Int.t_I64):Core.Base_interface.Int.t_I64 = - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve overflow - <: - Core.Base.Spec.Z.t_Z) - in - (t_i64 (Core.Clone.f_clone #Core.Base_interface.Int.t_I64 #FStar.Tactics.Typeclasses.solve res) - <: - t_i64), - Core.Base.Z.z_lt (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - res - <: - Core.Base.Spec.Z.t_Z) - overflow - <: - (t_i64 & bool) - -let add_with_overflow_i8 (x y: t_i8) : (t_i8 & bool) = - let overflow:Core.Base.Spec.Z.t_Z = - Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - in - let (res: Core.Base_interface.Int.t_I8):Core.Base_interface.Int.t_I8 = - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve overflow - <: - Core.Base.Spec.Z.t_Z) - in - (t_i8 (Core.Clone.f_clone #Core.Base_interface.Int.t_I8 #FStar.Tactics.Typeclasses.solve res) - <: - t_i8), - Core.Base.Z.z_lt (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - res - <: - Core.Base.Spec.Z.t_Z) - overflow - <: - (t_i8 & bool) - -let add_with_overflow_isize (x y: t_isize) : (t_isize & bool) = - let overflow:Core.Base.Spec.Z.t_Z = - Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - in - let (res: Core.Base_interface.Int.t_I64):Core.Base_interface.Int.t_I64 = - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve overflow - <: - Core.Base.Spec.Z.t_Z) - in - (t_isize (Core.Clone.f_clone #Core.Base_interface.Int.t_I64 #FStar.Tactics.Typeclasses.solve res) - <: - t_isize), - Core.Base.Z.z_lt (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - res - <: - Core.Base.Spec.Z.t_Z) - overflow - <: - (t_isize & bool) - -let unchecked_add_i128 (x y: t_i128) : t_i128 = - t_i128 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - } - <: - Core.Base_interface.Int.t_I128) - <: - t_i128 - -let unchecked_add_i16 (x y: t_i16) : t_i16 = - t_i16 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - } - <: - Core.Base_interface.Int.t_I16) - <: - t_i16 - -let unchecked_add_i32 (x y: t_i32) : t_i32 = - t_i32 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - } - <: - Core.Base_interface.Int.t_I32) - <: - t_i32 - -let unchecked_add_i64 (x y: t_i64) : t_i64 = - t_i64 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - } - <: - Core.Base_interface.Int.t_I64) - <: - t_i64 - -let unchecked_add_i8 (x y: t_i8) : t_i8 = - t_i8 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - } - <: - Core.Base_interface.Int.t_I8) - <: - t_i8 - -let unchecked_add_isize (x y: t_isize) : t_isize = - t_isize - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - } - <: - Core.Base_interface.Int.t_I64) - <: - t_isize - -let unchecked_add_u128 (x y: t_u128) : t_u128 = - t_u128 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - <: - Core.Base_interface.Int.t_U128) - <: - t_u128 - -let unchecked_add_u16 (x y: t_u16) : t_u16 = - t_u16 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - <: - Core.Base_interface.Int.t_U16) - <: - t_u16 - -let unchecked_add_u32 (x y: t_u32) : t_u32 = - t_u32 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - <: - Core.Base_interface.Int.t_U32) - <: - t_u32 - -let unchecked_add_u64 (x y: t_u64) : t_u64 = - t_u64 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - <: - Core.Base_interface.Int.t_U64) - <: - t_u64 - -let unchecked_add_u8 (x y: t_u8) : t_u8 = - t_u8 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - <: - Core.Base_interface.Int.t_U8) - <: - t_u8 - -let unchecked_add_usize (x y: t_usize) : t_usize = - t_usize - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - <: - Core.Base_interface.Int.t_U64) - <: - t_usize - -let checked_add268751055 (self rhs: t_u8) : Core.Option.t_Option t_u8 = - Core.Option.Option_Some (unchecked_add_u8 self rhs) <: Core.Option.t_Option t_u8 - -let checked_add132377399 (self rhs: t_u16) : Core.Option.t_Option t_u16 = - Core.Option.Option_Some (unchecked_add_u16 self rhs) <: Core.Option.t_Option t_u16 - -let checked_add985437730 (self rhs: t_u32) : Core.Option.t_Option t_u32 = - Core.Option.Option_Some (unchecked_add_u32 self rhs) <: Core.Option.t_Option t_u32 - -let checked_add586246465 (self rhs: t_u64) : Core.Option.t_Option t_u64 = - Core.Option.Option_Some (unchecked_add_u64 self rhs) <: Core.Option.t_Option t_u64 - -let checked_add218978451 (self rhs: t_u128) : Core.Option.t_Option t_u128 = - Core.Option.Option_Some (unchecked_add_u128 self rhs) <: Core.Option.t_Option t_u128 - -let checked_add984013567 (self rhs: t_usize) : Core.Option.t_Option t_usize = - Core.Option.Option_Some (unchecked_add_usize self rhs) <: Core.Option.t_Option t_usize - -let add_with_overflow_u128 (x y: t_u128) : (t_u128 & bool) = - let overflow:Core.Base.Spec.Haxint.t_HaxInt = - Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - in - let (res: Core.Base_interface.Int.t_U128):Core.Base_interface.Int.t_U128 = - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base.Spec.Haxint.t_HaxInt #FStar.Tactics.Typeclasses.solve overflow - <: - Core.Base.Spec.Haxint.t_HaxInt) - in - (t_u128 (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve res) - <: - t_u128), - Core.Base.Pos.haxint_lt (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - res - <: - Core.Base.Spec.Haxint.t_HaxInt) - overflow - <: - (t_u128 & bool) - -let add_with_overflow_u16 (x y: t_u16) : (t_u16 & bool) = - let overflow:Core.Base.Spec.Haxint.t_HaxInt = - Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - in - let (res: Core.Base_interface.Int.t_U16):Core.Base_interface.Int.t_U16 = - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base.Spec.Haxint.t_HaxInt #FStar.Tactics.Typeclasses.solve overflow - <: - Core.Base.Spec.Haxint.t_HaxInt) - in - (t_u16 (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve res) - <: - t_u16), - Core.Base.Pos.haxint_lt (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - res - <: - Core.Base.Spec.Haxint.t_HaxInt) - overflow - <: - (t_u16 & bool) - -let add_with_overflow_u32 (x y: t_u32) : (t_u32 & bool) = - let overflow:Core.Base.Spec.Haxint.t_HaxInt = - Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - in - let (res: Core.Base_interface.Int.t_U32):Core.Base_interface.Int.t_U32 = - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base.Spec.Haxint.t_HaxInt #FStar.Tactics.Typeclasses.solve overflow - <: - Core.Base.Spec.Haxint.t_HaxInt) - in - (t_u32 (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve res) - <: - t_u32), - Core.Base.Pos.haxint_lt (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - res - <: - Core.Base.Spec.Haxint.t_HaxInt) - overflow - <: - (t_u32 & bool) - -let add_with_overflow_u64 (x y: t_u64) : (t_u64 & bool) = - let overflow:Core.Base.Spec.Haxint.t_HaxInt = - Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - in - let (res: Core.Base_interface.Int.t_U64):Core.Base_interface.Int.t_U64 = - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base.Spec.Haxint.t_HaxInt #FStar.Tactics.Typeclasses.solve overflow - <: - Core.Base.Spec.Haxint.t_HaxInt) - in - (t_u64 (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve res) - <: - t_u64), - Core.Base.Pos.haxint_lt (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - res - <: - Core.Base.Spec.Haxint.t_HaxInt) - overflow - <: - (t_u64 & bool) - -let add_with_overflow_u8 (x y: t_u8) : (t_u8 & bool) = - let overflow:Core.Base.Spec.Haxint.t_HaxInt = - Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - in - let (res: Core.Base_interface.Int.t_U8):Core.Base_interface.Int.t_U8 = - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base.Spec.Haxint.t_HaxInt #FStar.Tactics.Typeclasses.solve overflow - <: - Core.Base.Spec.Haxint.t_HaxInt) - in - (t_u8 (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve res) - <: - t_u8), - Core.Base.Pos.haxint_lt (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - res - <: - Core.Base.Spec.Haxint.t_HaxInt) - overflow - <: - (t_u8 & bool) - -let add_with_overflow_usize (x y: t_usize) : (t_usize & bool) = - let overflow:Core.Base.Spec.Haxint.t_HaxInt = - Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - in - let (res: Core.Base_interface.Int.t_U64):Core.Base_interface.Int.t_U64 = - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base.Spec.Haxint.t_HaxInt #FStar.Tactics.Typeclasses.solve overflow - <: - Core.Base.Spec.Haxint.t_HaxInt) - in - (t_usize (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve res) - <: - t_usize), - Core.Base.Pos.haxint_lt (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - res - <: - Core.Base.Spec.Haxint.t_HaxInt) - overflow - <: - (t_usize & bool) - -let unchecked_div_u128 (x y: t_u128) : t_u128 = - t_u128 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Pos.haxint_div (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - <: - Core.Base_interface.Int.t_U128) - <: - t_u128 - -let unchecked_div_u16 (x y: t_u16) : t_u16 = - t_u16 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Pos.haxint_div (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - <: - Core.Base_interface.Int.t_U16) - <: - t_u16 - -let unchecked_div_u32 (x y: t_u32) : t_u32 = - t_u32 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Pos.haxint_div (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - <: - Core.Base_interface.Int.t_U32) - <: - t_u32 - -let unchecked_div_u64 (x y: t_u64) : t_u64 = - t_u64 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Pos.haxint_div (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - <: - Core.Base_interface.Int.t_U64) - <: - t_u64 - -let unchecked_div_u8 (x y: t_u8) : t_u8 = - t_u8 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Pos.haxint_div (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - <: - Core.Base_interface.Int.t_U8) - <: - t_u8 - -let unchecked_div_usize (x y: t_usize) : t_usize = - t_usize - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Pos.haxint_div (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - <: - Core.Base_interface.Int.t_U64) - <: - t_usize - -let wrapping_add_i128 (a b: t_i128) : t_i128 = t_i128 (a._0 +! b._0) <: t_i128 - -let wrapping_add_i16 (a b: t_i16) : t_i16 = t_i16 (a._0 +! b._0) <: t_i16 - -let wrapping_add_i32 (a b: t_i32) : t_i32 = t_i32 (a._0 +! b._0) <: t_i32 - -let wrapping_add_i64 (a b: t_i64) : t_i64 = t_i64 (a._0 +! b._0) <: t_i64 - -let wrapping_add_i8 (a b: t_i8) : t_i8 = t_i8 (a._0 +! b._0) <: t_i8 - -let wrapping_add_isize (a b: t_isize) : t_isize = t_isize (a._0 +! b._0) <: t_isize - -let wrapping_sub_i128 (a b: t_i128) : t_i128 = t_i128 (a._0 -! b._0) <: t_i128 - -let wrapping_sub_i16 (a b: t_i16) : t_i16 = t_i16 (a._0 -! b._0) <: t_i16 - -let wrapping_sub_i32 (a b: t_i32) : t_i32 = t_i32 (a._0 -! b._0) <: t_i32 - -let wrapping_sub_i64 (a b: t_i64) : t_i64 = t_i64 (a._0 -! b._0) <: t_i64 - -let wrapping_sub_i8 (a b: t_i8) : t_i8 = t_i8 (a._0 -! b._0) <: t_i8 - -let wrapping_sub_isize (a b: t_isize) : t_isize = t_isize (a._0 -! b._0) <: t_isize - -let wrapping_add634491935 (self rhs: t_i8) : t_i8 = wrapping_add_i8 self rhs - -let wrapping_sub973428293 (self rhs: t_i8) : t_i8 = wrapping_sub_i8 self rhs - -let wrapping_neg400701205 (self: t_i8) : t_i8 = - wrapping_sub973428293 (Core.Convert.f_into #i8 #t_i8 #FStar.Tactics.Typeclasses.solve 0y <: t_i8) - self - -let wrapping_abs400396545 (self: t_i8) : t_i8 = - if is_negative350273175 (Core.Clone.f_clone #t_i8 #FStar.Tactics.Typeclasses.solve self <: t_i8) - then wrapping_neg400701205 self - else self - -let wrapping_add868559108 (self rhs: t_i16) : t_i16 = wrapping_add_i16 self rhs - -let wrapping_sub189469152 (self rhs: t_i16) : t_i16 = wrapping_sub_i16 self rhs - -let wrapping_neg860505723 (self: t_i16) : t_i16 = - wrapping_sub189469152 (Core.Convert.f_into #i16 #t_i16 #FStar.Tactics.Typeclasses.solve 0s - <: - t_i16) - self - -let wrapping_abs229076826 (self: t_i16) : t_i16 = - if is_negative477067241 (Core.Clone.f_clone #t_i16 #FStar.Tactics.Typeclasses.solve self <: t_i16) - then wrapping_neg860505723 self - else self - -let wrapping_add475006616 (self rhs: t_i32) : t_i32 = wrapping_add_i32 self rhs - -let wrapping_sub298337071 (self rhs: t_i32) : t_i32 = wrapping_sub_i32 self rhs - -let wrapping_neg636433078 (self: t_i32) : t_i32 = - wrapping_sub298337071 (Core.Convert.f_into #i32 #t_i32 #FStar.Tactics.Typeclasses.solve 0l - <: - t_i32) - self - -let wrapping_abs729536875 (self: t_i32) : t_i32 = - if - is_negative1035644813 (Core.Clone.f_clone #t_i32 #FStar.Tactics.Typeclasses.solve self <: t_i32) - then wrapping_neg636433078 self - else self - -let wrapping_add590074241 (self rhs: t_i64) : t_i64 = wrapping_add_i64 self rhs - -let wrapping_sub334584751 (self rhs: t_i64) : t_i64 = wrapping_sub_i64 self rhs - -let wrapping_neg868282938 (self: t_i64) : t_i64 = - wrapping_sub334584751 (Core.Convert.f_into #i64 #t_i64 #FStar.Tactics.Typeclasses.solve 0L - <: - t_i64) - self - -let wrapping_abs285829312 (self: t_i64) : t_i64 = - if - is_negative1066124578 (Core.Clone.f_clone #t_i64 #FStar.Tactics.Typeclasses.solve self <: t_i64) - then wrapping_neg868282938 self - else self - -let wrapping_add251385439 (self rhs: t_i128) : t_i128 = wrapping_add_i128 self rhs - -let wrapping_sub681598071 (self rhs: t_i128) : t_i128 = wrapping_sub_i128 self rhs - -let wrapping_neg446546984 (self: t_i128) : t_i128 = - wrapping_sub681598071 (Core.Convert.f_into #i128 - #t_i128 - #FStar.Tactics.Typeclasses.solve - (pub_i128 0) - <: - t_i128) - self - -let wrapping_abs281925696 (self: t_i128) : t_i128 = - if - is_negative221698470 (Core.Clone.f_clone #t_i128 #FStar.Tactics.Typeclasses.solve self <: t_i128 - ) - then wrapping_neg446546984 self - else self - -let wrapping_add226040243 (self rhs: t_isize) : t_isize = wrapping_add_isize self rhs - -let wrapping_sub698035192 (self rhs: t_isize) : t_isize = wrapping_sub_isize self rhs - -let wrapping_neg912291768 (self: t_isize) : t_isize = - wrapping_sub698035192 (Core.Convert.f_into #isize - #t_isize - #FStar.Tactics.Typeclasses.solve - (isz 0) - <: - t_isize) - self - -let wrapping_abs347300819 (self: t_isize) : t_isize = - if - is_negative693446369 (Core.Clone.f_clone #t_isize #FStar.Tactics.Typeclasses.solve self - <: - t_isize) - then wrapping_neg912291768 self - else self - -let checked_div508301931 (self rhs: t_u8) : Core.Option.t_Option t_u8 = - if rhs =. (Core.Convert.f_into #u8 #t_u8 #FStar.Tactics.Typeclasses.solve 0uy <: t_u8) - then Core.Option.Option_None <: Core.Option.t_Option t_u8 - else Core.Option.Option_Some (unchecked_div_u8 self rhs) <: Core.Option.t_Option t_u8 - -let overflowing_add708890057 (self rhs: t_u8) : (t_u8 & bool) = add_with_overflow_u8 self rhs - -let checked_div614920780 (self rhs: t_u16) : Core.Option.t_Option t_u16 = - if rhs =. (Core.Convert.f_into #u16 #t_u16 #FStar.Tactics.Typeclasses.solve 0us <: t_u16) - then Core.Option.Option_None <: Core.Option.t_Option t_u16 - else Core.Option.Option_Some (unchecked_div_u16 self rhs) <: Core.Option.t_Option t_u16 - -let overflowing_add1023344178 (self rhs: t_u16) : (t_u16 & bool) = add_with_overflow_u16 self rhs - -let checked_div979383477 (self rhs: t_u32) : Core.Option.t_Option t_u32 = - if rhs =. (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul <: t_u32) - then Core.Option.Option_None <: Core.Option.t_Option t_u32 - else Core.Option.Option_Some (unchecked_div_u32 self rhs) <: Core.Option.t_Option t_u32 - -let overflowing_add905744292 (self rhs: t_u32) : (t_u32 & bool) = add_with_overflow_u32 self rhs - -let checked_div988689127 (self rhs: t_u64) : Core.Option.t_Option t_u64 = - if rhs =. (Core.Convert.f_into #u64 #t_u64 #FStar.Tactics.Typeclasses.solve 0uL <: t_u64) - then Core.Option.Option_None <: Core.Option.t_Option t_u64 - else Core.Option.Option_Some (unchecked_div_u64 self rhs) <: Core.Option.t_Option t_u64 - -let overflowing_add581983607 (self rhs: t_u64) : (t_u64 & bool) = add_with_overflow_u64 self rhs - -let checked_div344106746 (self rhs: t_u128) : Core.Option.t_Option t_u128 = - if - rhs =. - (Core.Convert.f_into #u128 #t_u128 #FStar.Tactics.Typeclasses.solve (pub_u128 0) <: t_u128) - then Core.Option.Option_None <: Core.Option.t_Option t_u128 - else Core.Option.Option_Some (unchecked_div_u128 self rhs) <: Core.Option.t_Option t_u128 - -let overflowing_add458293681 (self rhs: t_u128) : (t_u128 & bool) = add_with_overflow_u128 self rhs - -let checked_div80223906 (self rhs: t_usize) : Core.Option.t_Option t_usize = - if rhs =. (Core.Convert.f_into #usize #t_usize #FStar.Tactics.Typeclasses.solve (sz 0) <: t_usize) - then Core.Option.Option_None <: Core.Option.t_Option t_usize - else Core.Option.Option_Some (unchecked_div_usize self rhs) <: Core.Option.t_Option t_usize - -let overflowing_add682280407 (self rhs: t_usize) : (t_usize & bool) = - add_with_overflow_usize self rhs - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl: Core.Ops.Arith.t_Neg t_i8 = - { - f_Output = t_i8; - f_neg_pre = (fun (self: t_i8) -> true); - f_neg_post = (fun (self: t_i8) (out: t_i8) -> true); - f_neg - = - fun (self: t_i8) -> - t_i8 - (Core.Ops.Arith.f_neg #Core.Base_interface.Int.t_I8 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_i8 - } - -let abs945505614 (self: t_i8) : t_i8 = - if is_negative350273175 (Core.Clone.f_clone #t_i8 #FStar.Tactics.Typeclasses.solve self <: t_i8) - then Core.Ops.Arith.f_neg #t_i8 #FStar.Tactics.Typeclasses.solve self - else self - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_1: Core.Ops.Arith.t_Neg t_i16 = - { - f_Output = t_i16; - f_neg_pre = (fun (self: t_i16) -> true); - f_neg_post = (fun (self: t_i16) (out: t_i16) -> true); - f_neg - = - fun (self: t_i16) -> - t_i16 - (Core.Ops.Arith.f_neg #Core.Base_interface.Int.t_I16 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_i16 - } - -let abs581170970 (self: t_i16) : t_i16 = - if is_negative477067241 (Core.Clone.f_clone #t_i16 #FStar.Tactics.Typeclasses.solve self <: t_i16) - then Core.Ops.Arith.f_neg #t_i16 #FStar.Tactics.Typeclasses.solve self - else self - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_2: Core.Ops.Arith.t_Neg t_i32 = - { - f_Output = t_i32; - f_neg_pre = (fun (self: t_i32) -> true); - f_neg_post = (fun (self: t_i32) (out: t_i32) -> true); - f_neg - = - fun (self: t_i32) -> - t_i32 - (Core.Ops.Arith.f_neg #Core.Base_interface.Int.t_I32 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_i32 - } - -let abs590464694 (self: t_i32) : t_i32 = - if - is_negative1035644813 (Core.Clone.f_clone #t_i32 #FStar.Tactics.Typeclasses.solve self <: t_i32) - then Core.Ops.Arith.f_neg #t_i32 #FStar.Tactics.Typeclasses.solve self - else self - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_3: Core.Ops.Arith.t_Neg t_i64 = - { - f_Output = t_i64; - f_neg_pre = (fun (self: t_i64) -> true); - f_neg_post = (fun (self: t_i64) (out: t_i64) -> true); - f_neg - = - fun (self: t_i64) -> - t_i64 - (Core.Ops.Arith.f_neg #Core.Base_interface.Int.t_I64 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_i64 - } - -let abs654781043 (self: t_i64) : t_i64 = - if - is_negative1066124578 (Core.Clone.f_clone #t_i64 #FStar.Tactics.Typeclasses.solve self <: t_i64) - then Core.Ops.Arith.f_neg #t_i64 #FStar.Tactics.Typeclasses.solve self - else self - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_4: Core.Ops.Arith.t_Neg t_i128 = - { - f_Output = t_i128; - f_neg_pre = (fun (self: t_i128) -> true); - f_neg_post = (fun (self: t_i128) (out: t_i128) -> true); - f_neg - = - fun (self: t_i128) -> - t_i128 - (Core.Ops.Arith.f_neg #Core.Base_interface.Int.t_I128 #FStar.Tactics.Typeclasses.solve self._0 - ) - <: - t_i128 - } - -let abs204417539 (self: t_i128) : t_i128 = - if - is_negative221698470 (Core.Clone.f_clone #t_i128 #FStar.Tactics.Typeclasses.solve self <: t_i128 - ) - then Core.Ops.Arith.f_neg #t_i128 #FStar.Tactics.Typeclasses.solve self - else self - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_5: Core.Ops.Arith.t_Neg t_isize = - { - f_Output = t_isize; - f_neg_pre = (fun (self: t_isize) -> true); - f_neg_post = (fun (self: t_isize) (out: t_isize) -> true); - f_neg - = - fun (self: t_isize) -> - t_isize - (Core.Ops.Arith.f_neg #Core.Base_interface.Int.t_I64 #FStar.Tactics.Typeclasses.solve self._0) - <: - t_isize - } - -let abs220926056 (self: t_isize) : t_isize = - if - is_negative693446369 (Core.Clone.f_clone #t_isize #FStar.Tactics.Typeclasses.solve self - <: - t_isize) - then Core.Ops.Arith.f_neg #t_isize #FStar.Tactics.Typeclasses.solve self - else self - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_84: Core.Ops.Bit.t_BitOr t_i8 t_i8 = - { - f_Output = t_i8; - f_bitor_pre = (fun (self: t_i8) (other: t_i8) -> true); - f_bitor_post = (fun (self: t_i8) (other: t_i8) (out: t_i8) -> true); - f_bitor = fun (self: t_i8) (other: t_i8) -> t_i8 (self._0 |. other._0) <: t_i8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_85: Core.Ops.Bit.t_BitOr t_i16 t_i16 = - { - f_Output = t_i16; - f_bitor_pre = (fun (self: t_i16) (other: t_i16) -> true); - f_bitor_post = (fun (self: t_i16) (other: t_i16) (out: t_i16) -> true); - f_bitor = fun (self: t_i16) (other: t_i16) -> t_i16 (self._0 |. other._0) <: t_i16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_86: Core.Ops.Bit.t_BitOr t_i32 t_i32 = - { - f_Output = t_i32; - f_bitor_pre = (fun (self: t_i32) (other: t_i32) -> true); - f_bitor_post = (fun (self: t_i32) (other: t_i32) (out: t_i32) -> true); - f_bitor = fun (self: t_i32) (other: t_i32) -> t_i32 (self._0 |. other._0) <: t_i32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_87: Core.Ops.Bit.t_BitOr t_i64 t_i64 = - { - f_Output = t_i64; - f_bitor_pre = (fun (self: t_i64) (other: t_i64) -> true); - f_bitor_post = (fun (self: t_i64) (other: t_i64) (out: t_i64) -> true); - f_bitor = fun (self: t_i64) (other: t_i64) -> t_i64 (self._0 |. other._0) <: t_i64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_88: Core.Ops.Bit.t_BitOr t_i128 t_i128 = - { - f_Output = t_i128; - f_bitor_pre = (fun (self: t_i128) (other: t_i128) -> true); - f_bitor_post = (fun (self: t_i128) (other: t_i128) (out: t_i128) -> true); - f_bitor = fun (self: t_i128) (other: t_i128) -> t_i128 (self._0 |. other._0) <: t_i128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_89: Core.Ops.Bit.t_BitOr t_isize t_isize = - { - f_Output = t_isize; - f_bitor_pre = (fun (self: t_isize) (other: t_isize) -> true); - f_bitor_post = (fun (self: t_isize) (other: t_isize) (out: t_isize) -> true); - f_bitor = fun (self: t_isize) (other: t_isize) -> t_isize (self._0 |. other._0) <: t_isize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_12: Core.Convert.t_From t_u16 t_u8 = - { - f_from_pre = (fun (x: t_u8) -> true); - f_from_post = (fun (x: t_u8) (out: t_u16) -> true); - f_from - = - fun (x: t_u8) -> - t_u16 - (Core.Convert.f_into #Core.Base_interface.Int.t_U8 - #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_13: Core.Convert.t_From t_u32 t_u8 = - { - f_from_pre = (fun (x: t_u8) -> true); - f_from_post = (fun (x: t_u8) (out: t_u32) -> true); - f_from - = - fun (x: t_u8) -> - t_u32 - (Core.Convert.f_into #Core.Base_interface.Int.t_U8 - #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_14: Core.Convert.t_From t_u64 t_u8 = - { - f_from_pre = (fun (x: t_u8) -> true); - f_from_post = (fun (x: t_u8) (out: t_u64) -> true); - f_from - = - fun (x: t_u8) -> - t_u64 - (Core.Convert.f_into #Core.Base_interface.Int.t_U8 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_15: Core.Convert.t_From t_u128 t_u8 = - { - f_from_pre = (fun (x: t_u8) -> true); - f_from_post = (fun (x: t_u8) (out: t_u128) -> true); - f_from - = - fun (x: t_u8) -> - t_u128 - (Core.Convert.f_into #Core.Base_interface.Int.t_U8 - #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_16: Core.Convert.t_From t_usize t_u8 = - { - f_from_pre = (fun (x: t_u8) -> true); - f_from_post = (fun (x: t_u8) (out: t_usize) -> true); - f_from - = - fun (x: t_u8) -> - t_usize - (Core.Convert.f_into #Core.Base_interface.Int.t_U8 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_17: Core.Convert.t_From t_u8 t_u16 = - { - f_from_pre = (fun (x: t_u16) -> true); - f_from_post = (fun (x: t_u16) (out: t_u8) -> true); - f_from - = - fun (x: t_u16) -> - t_u8 - (Core.Convert.f_into #Core.Base_interface.Int.t_U16 - #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_18: Core.Convert.t_From t_u32 t_u16 = - { - f_from_pre = (fun (x: t_u16) -> true); - f_from_post = (fun (x: t_u16) (out: t_u32) -> true); - f_from - = - fun (x: t_u16) -> - t_u32 - (Core.Convert.f_into #Core.Base_interface.Int.t_U16 - #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_19: Core.Convert.t_From t_u64 t_u16 = - { - f_from_pre = (fun (x: t_u16) -> true); - f_from_post = (fun (x: t_u16) (out: t_u64) -> true); - f_from - = - fun (x: t_u16) -> - t_u64 - (Core.Convert.f_into #Core.Base_interface.Int.t_U16 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_20: Core.Convert.t_From t_u128 t_u16 = - { - f_from_pre = (fun (x: t_u16) -> true); - f_from_post = (fun (x: t_u16) (out: t_u128) -> true); - f_from - = - fun (x: t_u16) -> - t_u128 - (Core.Convert.f_into #Core.Base_interface.Int.t_U16 - #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_21: Core.Convert.t_From t_usize t_u16 = - { - f_from_pre = (fun (x: t_u16) -> true); - f_from_post = (fun (x: t_u16) (out: t_usize) -> true); - f_from - = - fun (x: t_u16) -> - t_usize - (Core.Convert.f_into #Core.Base_interface.Int.t_U16 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_22: Core.Convert.t_From t_u8 t_u32 = - { - f_from_pre = (fun (x: t_u32) -> true); - f_from_post = (fun (x: t_u32) (out: t_u8) -> true); - f_from - = - fun (x: t_u32) -> - t_u8 - (Core.Convert.f_into #Core.Base_interface.Int.t_U32 - #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_23: Core.Convert.t_From t_u16 t_u32 = - { - f_from_pre = (fun (x: t_u32) -> true); - f_from_post = (fun (x: t_u32) (out: t_u16) -> true); - f_from - = - fun (x: t_u32) -> - t_u16 - (Core.Convert.f_into #Core.Base_interface.Int.t_U32 - #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_24: Core.Convert.t_From t_u64 t_u32 = - { - f_from_pre = (fun (x: t_u32) -> true); - f_from_post = (fun (x: t_u32) (out: t_u64) -> true); - f_from - = - fun (x: t_u32) -> - t_u64 - (Core.Convert.f_into #Core.Base_interface.Int.t_U32 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_25: Core.Convert.t_From t_u128 t_u32 = - { - f_from_pre = (fun (x: t_u32) -> true); - f_from_post = (fun (x: t_u32) (out: t_u128) -> true); - f_from - = - fun (x: t_u32) -> - t_u128 - (Core.Convert.f_into #Core.Base_interface.Int.t_U32 - #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_26: Core.Convert.t_From t_usize t_u32 = - { - f_from_pre = (fun (x: t_u32) -> true); - f_from_post = (fun (x: t_u32) (out: t_usize) -> true); - f_from - = - fun (x: t_u32) -> - t_usize - (Core.Convert.f_into #Core.Base_interface.Int.t_U32 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_27: Core.Convert.t_From t_u8 t_u64 = - { - f_from_pre = (fun (x: t_u64) -> true); - f_from_post = (fun (x: t_u64) (out: t_u8) -> true); - f_from - = - fun (x: t_u64) -> - t_u8 - (Core.Convert.f_into #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_28: Core.Convert.t_From t_u16 t_u64 = - { - f_from_pre = (fun (x: t_u64) -> true); - f_from_post = (fun (x: t_u64) (out: t_u16) -> true); - f_from - = - fun (x: t_u64) -> - t_u16 - (Core.Convert.f_into #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_29: Core.Convert.t_From t_u32 t_u64 = - { - f_from_pre = (fun (x: t_u64) -> true); - f_from_post = (fun (x: t_u64) (out: t_u32) -> true); - f_from - = - fun (x: t_u64) -> - t_u32 - (Core.Convert.f_into #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_30: Core.Convert.t_From t_u128 t_u64 = - { - f_from_pre = (fun (x: t_u64) -> true); - f_from_post = (fun (x: t_u64) (out: t_u128) -> true); - f_from - = - fun (x: t_u64) -> - t_u128 - (Core.Convert.f_into #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_32: Core.Convert.t_From t_u8 t_u128 = - { - f_from_pre = (fun (x: t_u128) -> true); - f_from_post = (fun (x: t_u128) (out: t_u8) -> true); - f_from - = - fun (x: t_u128) -> - t_u8 - (Core.Convert.f_into #Core.Base_interface.Int.t_U128 - #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_33: Core.Convert.t_From t_u16 t_u128 = - { - f_from_pre = (fun (x: t_u128) -> true); - f_from_post = (fun (x: t_u128) (out: t_u16) -> true); - f_from - = - fun (x: t_u128) -> - t_u16 - (Core.Convert.f_into #Core.Base_interface.Int.t_U128 - #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_34: Core.Convert.t_From t_u32 t_u128 = - { - f_from_pre = (fun (x: t_u128) -> true); - f_from_post = (fun (x: t_u128) (out: t_u32) -> true); - f_from - = - fun (x: t_u128) -> - t_u32 - (Core.Convert.f_into #Core.Base_interface.Int.t_U128 - #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_35: Core.Convert.t_From t_u64 t_u128 = - { - f_from_pre = (fun (x: t_u128) -> true); - f_from_post = (fun (x: t_u128) (out: t_u64) -> true); - f_from - = - fun (x: t_u128) -> - t_u64 - (Core.Convert.f_into #Core.Base_interface.Int.t_U128 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_36: Core.Convert.t_From t_usize t_u128 = - { - f_from_pre = (fun (x: t_u128) -> true); - f_from_post = (fun (x: t_u128) (out: t_usize) -> true); - f_from - = - fun (x: t_u128) -> - t_usize - (Core.Convert.f_into #Core.Base_interface.Int.t_U128 - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_37: Core.Convert.t_From t_u8 t_usize = - { - f_from_pre = (fun (x: t_usize) -> true); - f_from_post = (fun (x: t_usize) (out: t_u8) -> true); - f_from - = - fun (x: t_usize) -> - t_u8 - (Core.Convert.f_into #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_38: Core.Convert.t_From t_u16 t_usize = - { - f_from_pre = (fun (x: t_usize) -> true); - f_from_post = (fun (x: t_usize) (out: t_u16) -> true); - f_from - = - fun (x: t_usize) -> - t_u16 - (Core.Convert.f_into #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_39: Core.Convert.t_From t_u32 t_usize = - { - f_from_pre = (fun (x: t_usize) -> true); - f_from_post = (fun (x: t_usize) (out: t_u32) -> true); - f_from - = - fun (x: t_usize) -> - t_u32 - (Core.Convert.f_into #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_41: Core.Convert.t_From t_u128 t_usize = - { - f_from_pre = (fun (x: t_usize) -> true); - f_from_post = (fun (x: t_usize) (out: t_u128) -> true); - f_from - = - fun (x: t_usize) -> - t_u128 - (Core.Convert.f_into #Core.Base_interface.Int.t_U64 - #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - x._0) - <: - t_u128 - } - -let unchecked_div_i128 (x y: t_i128) : t_i128 = - t_i128 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Z.z_div (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - } - <: - Core.Base_interface.Int.t_I128) - <: - t_i128 - -let unchecked_div_i16 (x y: t_i16) : t_i16 = - t_i16 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Z.z_div (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - } - <: - Core.Base_interface.Int.t_I16) - <: - t_i16 - -let unchecked_div_i32 (x y: t_i32) : t_i32 = - t_i32 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Z.z_div (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - } - <: - Core.Base_interface.Int.t_I32) - <: - t_i32 - -let unchecked_div_i64 (x y: t_i64) : t_i64 = - t_i64 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Z.z_div (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - } - <: - Core.Base_interface.Int.t_I64) - <: - t_i64 - -let unchecked_div_i8 (x y: t_i8) : t_i8 = - t_i8 - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Z.z_div (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - } - <: - Core.Base_interface.Int.t_I8) - <: - t_i8 - -let unchecked_div_isize (x y: t_isize) : t_isize = - t_isize - ({ - Core.Base_interface.Int.f_v - = - Core.Base.Z.z_div (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x._0 - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - y._0 - <: - Core.Base.Spec.Z.t_Z) - } - <: - Core.Base_interface.Int.t_I64) - <: - t_isize - -let wrapping_add_u128 (a b: t_u128) : t_u128 = t_u128 (a._0 +! b._0) <: t_u128 - -let wrapping_add_u16 (a b: t_u16) : t_u16 = t_u16 (a._0 +! b._0) <: t_u16 - -let wrapping_add_u32 (a b: t_u32) : t_u32 = t_u32 (a._0 +! b._0) <: t_u32 - -let wrapping_add_u64 (a b: t_u64) : t_u64 = t_u64 (a._0 +! b._0) <: t_u64 - -let wrapping_add_u8 (a b: t_u8) : t_u8 = t_u8 (a._0 +! b._0) <: t_u8 - -let wrapping_add_usize (a b: t_usize) : t_usize = t_usize (a._0 +! b._0) <: t_usize - -let wrapping_mul_i128 (a b: t_i128) : t_i128 = t_i128 (a._0 *! b._0) <: t_i128 - -let wrapping_mul_i16 (a b: t_i16) : t_i16 = t_i16 (a._0 *! b._0) <: t_i16 - -let wrapping_mul_i32 (a b: t_i32) : t_i32 = t_i32 (a._0 *! b._0) <: t_i32 - -let wrapping_mul_i64 (a b: t_i64) : t_i64 = t_i64 (a._0 *! b._0) <: t_i64 - -let wrapping_mul_i8 (a b: t_i8) : t_i8 = t_i8 (a._0 *! b._0) <: t_i8 - -let wrapping_mul_isize (a b: t_isize) : t_isize = t_isize (a._0 *! b._0) <: t_isize - -let wrapping_mul_u128 (a b: t_u128) : t_u128 = t_u128 (a._0 *! b._0) <: t_u128 - -let wrapping_mul_u16 (a b: t_u16) : t_u16 = t_u16 (a._0 *! b._0) <: t_u16 - -let wrapping_mul_u32 (a b: t_u32) : t_u32 = t_u32 (a._0 *! b._0) <: t_u32 - -let wrapping_mul_u64 (a b: t_u64) : t_u64 = t_u64 (a._0 *! b._0) <: t_u64 - -let wrapping_mul_u8 (a b: t_u8) : t_u8 = t_u8 (a._0 *! b._0) <: t_u8 - -let wrapping_mul_usize (a b: t_usize) : t_usize = t_usize (a._0 *! b._0) <: t_usize - -let wrapping_add480603777 (self rhs: t_u8) : t_u8 = wrapping_add_u8 self rhs - -let wrapping_mul885216284 (self rhs: t_u8) : t_u8 = wrapping_mul_u8 self rhs - -let wrapping_add124432709 (self rhs: t_u16) : t_u16 = wrapping_add_u16 self rhs - -let wrapping_mul14465189 (self rhs: t_u16) : t_u16 = wrapping_mul_u16 self rhs - -let wrapping_add1049665857 (self rhs: t_u32) : t_u32 = wrapping_add_u32 self rhs - -let wrapping_mul203346768 (self rhs: t_u32) : t_u32 = wrapping_mul_u32 self rhs - -let wrapping_add865565639 (self rhs: t_u64) : t_u64 = wrapping_add_u64 self rhs - -let wrapping_mul742978873 (self rhs: t_u64) : t_u64 = wrapping_mul_u64 self rhs - -let wrapping_add40844100 (self rhs: t_u128) : t_u128 = wrapping_add_u128 self rhs - -let wrapping_mul294115024 (self rhs: t_u128) : t_u128 = wrapping_mul_u128 self rhs - -let wrapping_add427637036 (self rhs: t_usize) : t_usize = wrapping_add_usize self rhs - -let wrapping_mul680896953 (self rhs: t_usize) : t_usize = wrapping_mul_usize self rhs - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_12: Core.Ops.Arith.t_Add t_i8 t_i8 = - { - f_Output = t_i8; - f_add_pre = (fun (self: t_i8) (other: t_i8) -> true); - f_add_post = (fun (self: t_i8) (other: t_i8) (out: t_i8) -> true); - f_add = fun (self: t_i8) (other: t_i8) -> t_i8 (self._0 +! other._0) <: t_i8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_13: Core.Ops.Arith.t_Add t_i16 t_i16 = - { - f_Output = t_i16; - f_add_pre = (fun (self: t_i16) (other: t_i16) -> true); - f_add_post = (fun (self: t_i16) (other: t_i16) (out: t_i16) -> true); - f_add = fun (self: t_i16) (other: t_i16) -> t_i16 (self._0 +! other._0) <: t_i16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_14: Core.Ops.Arith.t_Add t_i32 t_i32 = - { - f_Output = t_i32; - f_add_pre = (fun (self: t_i32) (other: t_i32) -> true); - f_add_post = (fun (self: t_i32) (other: t_i32) (out: t_i32) -> true); - f_add = fun (self: t_i32) (other: t_i32) -> t_i32 (self._0 +! other._0) <: t_i32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_15: Core.Ops.Arith.t_Add t_i64 t_i64 = - { - f_Output = t_i64; - f_add_pre = (fun (self: t_i64) (other: t_i64) -> true); - f_add_post = (fun (self: t_i64) (other: t_i64) (out: t_i64) -> true); - f_add = fun (self: t_i64) (other: t_i64) -> t_i64 (self._0 +! other._0) <: t_i64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_16: Core.Ops.Arith.t_Add t_i128 t_i128 = - { - f_Output = t_i128; - f_add_pre = (fun (self: t_i128) (other: t_i128) -> true); - f_add_post = (fun (self: t_i128) (other: t_i128) (out: t_i128) -> true); - f_add = fun (self: t_i128) (other: t_i128) -> t_i128 (self._0 +! other._0) <: t_i128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_17: Core.Ops.Arith.t_Add t_isize t_isize = - { - f_Output = t_isize; - f_add_pre = (fun (self: t_isize) (other: t_isize) -> true); - f_add_post = (fun (self: t_isize) (other: t_isize) (out: t_isize) -> true); - f_add = fun (self: t_isize) (other: t_isize) -> t_isize (self._0 +! other._0) <: t_isize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_24: Core.Ops.Arith.t_Sub t_i8 t_i8 = - { - f_Output = t_i8; - f_sub_pre = (fun (self: t_i8) (other: t_i8) -> true); - f_sub_post = (fun (self: t_i8) (other: t_i8) (out: t_i8) -> true); - f_sub = fun (self: t_i8) (other: t_i8) -> t_i8 (self._0 -! other._0) <: t_i8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_25: Core.Ops.Arith.t_Sub t_i16 t_i16 = - { - f_Output = t_i16; - f_sub_pre = (fun (self: t_i16) (other: t_i16) -> true); - f_sub_post = (fun (self: t_i16) (other: t_i16) (out: t_i16) -> true); - f_sub = fun (self: t_i16) (other: t_i16) -> t_i16 (self._0 -! other._0) <: t_i16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_26: Core.Ops.Arith.t_Sub t_i32 t_i32 = - { - f_Output = t_i32; - f_sub_pre = (fun (self: t_i32) (other: t_i32) -> true); - f_sub_post = (fun (self: t_i32) (other: t_i32) (out: t_i32) -> true); - f_sub = fun (self: t_i32) (other: t_i32) -> t_i32 (self._0 -! other._0) <: t_i32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_27: Core.Ops.Arith.t_Sub t_i64 t_i64 = - { - f_Output = t_i64; - f_sub_pre = (fun (self: t_i64) (other: t_i64) -> true); - f_sub_post = (fun (self: t_i64) (other: t_i64) (out: t_i64) -> true); - f_sub = fun (self: t_i64) (other: t_i64) -> t_i64 (self._0 -! other._0) <: t_i64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_28: Core.Ops.Arith.t_Sub t_i128 t_i128 = - { - f_Output = t_i128; - f_sub_pre = (fun (self: t_i128) (other: t_i128) -> true); - f_sub_post = (fun (self: t_i128) (other: t_i128) (out: t_i128) -> true); - f_sub = fun (self: t_i128) (other: t_i128) -> t_i128 (self._0 -! other._0) <: t_i128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_29: Core.Ops.Arith.t_Sub t_isize t_isize = - { - f_Output = t_isize; - f_sub_pre = (fun (self: t_isize) (other: t_isize) -> true); - f_sub_post = (fun (self: t_isize) (other: t_isize) (out: t_isize) -> true); - f_sub = fun (self: t_isize) (other: t_isize) -> t_isize (self._0 -! other._0) <: t_isize - } - -let wrapping_sub_u128 (a b: t_u128) : t_u128 = t_u128 (a._0 -! b._0) <: t_u128 - -let wrapping_sub_u16 (a b: t_u16) : t_u16 = t_u16 (a._0 -! b._0) <: t_u16 - -let wrapping_sub_u32 (a b: t_u32) : t_u32 = t_u32 (a._0 -! b._0) <: t_u32 - -let wrapping_sub_u64 (a b: t_u64) : t_u64 = t_u64 (a._0 -! b._0) <: t_u64 - -let wrapping_sub_u8 (a b: t_u8) : t_u8 = t_u8 (a._0 -! b._0) <: t_u8 - -let wrapping_sub_usize (a b: t_usize) : t_usize = t_usize (a._0 -! b._0) <: t_usize - -let wrapping_sub403906422 (self rhs: t_u8) : t_u8 = wrapping_sub_u8 self rhs - -let wrapping_neg123212788 (self: t_u8) : t_u8 = - wrapping_sub403906422 (t_u8 - (Core.Base_interface.Int.f_ZERO #FStar.Tactics.Typeclasses.solve - <: - Core.Base_interface.Int.t_U8) - <: - t_u8) - self - -let wrapping_sub811251034 (self rhs: t_u16) : t_u16 = wrapping_sub_u16 self rhs - -let wrapping_neg128555595 (self: t_u16) : t_u16 = - wrapping_sub811251034 (t_u16 - (Core.Base_interface.Int.f_ZERO #FStar.Tactics.Typeclasses.solve - <: - Core.Base_interface.Int.t_U16) - <: - t_u16) - self - -let wrapping_sub708953500 (self rhs: t_u32) : t_u32 = wrapping_sub_u32 self rhs - -let wrapping_neg328220773 (self: t_u32) : t_u32 = - wrapping_sub708953500 (t_u32 - (Core.Base_interface.Int.f_ZERO #FStar.Tactics.Typeclasses.solve - <: - Core.Base_interface.Int.t_U32) - <: - t_u32) - self - -let wrapping_sub762520851 (self rhs: t_u64) : t_u64 = wrapping_sub_u64 self rhs - -let wrapping_neg617136337 (self: t_u64) : t_u64 = - wrapping_sub762520851 (t_u64 - (Core.Base_interface.Int.f_ZERO #FStar.Tactics.Typeclasses.solve - <: - Core.Base_interface.Int.t_U64) - <: - t_u64) - self - -let wrapping_sub409310259 (self rhs: t_u128) : t_u128 = wrapping_sub_u128 self rhs - -let wrapping_neg729451428 (self: t_u128) : t_u128 = - wrapping_sub409310259 (t_u128 - (Core.Base_interface.Int.f_ZERO #FStar.Tactics.Typeclasses.solve - <: - Core.Base_interface.Int.t_U128) - <: - t_u128) - self - -let wrapping_sub813101882 (self rhs: t_usize) : t_usize = wrapping_sub_usize self rhs - -let wrapping_neg342773446 (self: t_usize) : t_usize = - wrapping_sub813101882 (t_usize - (Core.Base_interface.Int.f_ZERO #FStar.Tactics.Typeclasses.solve - <: - Core.Base_interface.Int.t_U64) - <: - t_usize) - self - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_6: Core.Ops.Arith.t_Add t_u8 t_u8 = - { - f_Output = t_u8; - f_add_pre = (fun (self: t_u8) (other: t_u8) -> true); - f_add_post = (fun (self: t_u8) (other: t_u8) (out: t_u8) -> true); - f_add = fun (self: t_u8) (other: t_u8) -> t_u8 (self._0 +! other._0) <: t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_7: Core.Ops.Arith.t_Add t_u16 t_u16 = - { - f_Output = t_u16; - f_add_pre = (fun (self: t_u16) (other: t_u16) -> true); - f_add_post = (fun (self: t_u16) (other: t_u16) (out: t_u16) -> true); - f_add = fun (self: t_u16) (other: t_u16) -> t_u16 (self._0 +! other._0) <: t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_8: Core.Ops.Arith.t_Add t_u32 t_u32 = - { - f_Output = t_u32; - f_add_pre = (fun (self: t_u32) (other: t_u32) -> true); - f_add_post = (fun (self: t_u32) (other: t_u32) (out: t_u32) -> true); - f_add = fun (self: t_u32) (other: t_u32) -> t_u32 (self._0 +! other._0) <: t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_9: Core.Ops.Arith.t_Add t_u64 t_u64 = - { - f_Output = t_u64; - f_add_pre = (fun (self: t_u64) (other: t_u64) -> true); - f_add_post = (fun (self: t_u64) (other: t_u64) (out: t_u64) -> true); - f_add = fun (self: t_u64) (other: t_u64) -> t_u64 (self._0 +! other._0) <: t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_10: Core.Ops.Arith.t_Add t_u128 t_u128 = - { - f_Output = t_u128; - f_add_pre = (fun (self: t_u128) (other: t_u128) -> true); - f_add_post = (fun (self: t_u128) (other: t_u128) (out: t_u128) -> true); - f_add = fun (self: t_u128) (other: t_u128) -> t_u128 (self._0 +! other._0) <: t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_11: Core.Ops.Arith.t_Add t_usize t_usize = - { - f_Output = t_usize; - f_add_pre = (fun (self: t_usize) (other: t_usize) -> true); - f_add_post = (fun (self: t_usize) (other: t_usize) (out: t_usize) -> true); - f_add = fun (self: t_usize) (other: t_usize) -> t_usize (self._0 +! other._0) <: t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_30: Core.Ops.Arith.t_Mul t_u8 t_u8 = - { - f_Output = t_u8; - f_mul_pre = (fun (self: t_u8) (other: t_u8) -> true); - f_mul_post = (fun (self: t_u8) (other: t_u8) (out: t_u8) -> true); - f_mul = fun (self: t_u8) (other: t_u8) -> t_u8 (self._0 *! other._0) <: t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_31: Core.Ops.Arith.t_Mul t_u16 t_u16 = - { - f_Output = t_u16; - f_mul_pre = (fun (self: t_u16) (other: t_u16) -> true); - f_mul_post = (fun (self: t_u16) (other: t_u16) (out: t_u16) -> true); - f_mul = fun (self: t_u16) (other: t_u16) -> t_u16 (self._0 *! other._0) <: t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_32: Core.Ops.Arith.t_Mul t_u32 t_u32 = - { - f_Output = t_u32; - f_mul_pre = (fun (self: t_u32) (other: t_u32) -> true); - f_mul_post = (fun (self: t_u32) (other: t_u32) (out: t_u32) -> true); - f_mul = fun (self: t_u32) (other: t_u32) -> t_u32 (self._0 *! other._0) <: t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_33: Core.Ops.Arith.t_Mul t_u64 t_u64 = - { - f_Output = t_u64; - f_mul_pre = (fun (self: t_u64) (other: t_u64) -> true); - f_mul_post = (fun (self: t_u64) (other: t_u64) (out: t_u64) -> true); - f_mul = fun (self: t_u64) (other: t_u64) -> t_u64 (self._0 *! other._0) <: t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_34: Core.Ops.Arith.t_Mul t_u128 t_u128 = - { - f_Output = t_u128; - f_mul_pre = (fun (self: t_u128) (other: t_u128) -> true); - f_mul_post = (fun (self: t_u128) (other: t_u128) (out: t_u128) -> true); - f_mul = fun (self: t_u128) (other: t_u128) -> t_u128 (self._0 *! other._0) <: t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_35: Core.Ops.Arith.t_Mul t_usize t_usize = - { - f_Output = t_usize; - f_mul_pre = (fun (self: t_usize) (other: t_usize) -> true); - f_mul_post = (fun (self: t_usize) (other: t_usize) (out: t_usize) -> true); - f_mul = fun (self: t_usize) (other: t_usize) -> t_usize (self._0 *! other._0) <: t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_36: Core.Ops.Arith.t_Mul t_i8 t_i8 = - { - f_Output = t_i8; - f_mul_pre = (fun (self: t_i8) (other: t_i8) -> true); - f_mul_post = (fun (self: t_i8) (other: t_i8) (out: t_i8) -> true); - f_mul = fun (self: t_i8) (other: t_i8) -> t_i8 (self._0 *! other._0) <: t_i8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_37: Core.Ops.Arith.t_Mul t_i16 t_i16 = - { - f_Output = t_i16; - f_mul_pre = (fun (self: t_i16) (other: t_i16) -> true); - f_mul_post = (fun (self: t_i16) (other: t_i16) (out: t_i16) -> true); - f_mul = fun (self: t_i16) (other: t_i16) -> t_i16 (self._0 *! other._0) <: t_i16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_38: Core.Ops.Arith.t_Mul t_i32 t_i32 = - { - f_Output = t_i32; - f_mul_pre = (fun (self: t_i32) (other: t_i32) -> true); - f_mul_post = (fun (self: t_i32) (other: t_i32) (out: t_i32) -> true); - f_mul = fun (self: t_i32) (other: t_i32) -> t_i32 (self._0 *! other._0) <: t_i32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_39: Core.Ops.Arith.t_Mul t_i64 t_i64 = - { - f_Output = t_i64; - f_mul_pre = (fun (self: t_i64) (other: t_i64) -> true); - f_mul_post = (fun (self: t_i64) (other: t_i64) (out: t_i64) -> true); - f_mul = fun (self: t_i64) (other: t_i64) -> t_i64 (self._0 *! other._0) <: t_i64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_40: Core.Ops.Arith.t_Mul t_i128 t_i128 = - { - f_Output = t_i128; - f_mul_pre = (fun (self: t_i128) (other: t_i128) -> true); - f_mul_post = (fun (self: t_i128) (other: t_i128) (out: t_i128) -> true); - f_mul = fun (self: t_i128) (other: t_i128) -> t_i128 (self._0 *! other._0) <: t_i128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_41: Core.Ops.Arith.t_Mul t_isize t_isize = - { - f_Output = t_isize; - f_mul_pre = (fun (self: t_isize) (other: t_isize) -> true); - f_mul_post = (fun (self: t_isize) (other: t_isize) (out: t_isize) -> true); - f_mul = fun (self: t_isize) (other: t_isize) -> t_isize (self._0 *! other._0) <: t_isize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_42: Core.Ops.Arith.t_Div t_u8 t_u8 = - { - f_Output = t_u8; - f_div_pre = (fun (self: t_u8) (other: t_u8) -> true); - f_div_post = (fun (self: t_u8) (other: t_u8) (out: t_u8) -> true); - f_div = fun (self: t_u8) (other: t_u8) -> t_u8 (self._0 /! other._0) <: t_u8 - } - -let wrapping_div660080892 (self rhs: t_u8) : t_u8 = self /! rhs - -let wrapping_div_euclid481233436 (self rhs: t_u8) : t_u8 = self /! rhs - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_43: Core.Ops.Arith.t_Div t_u16 t_u16 = - { - f_Output = t_u16; - f_div_pre = (fun (self: t_u16) (other: t_u16) -> true); - f_div_post = (fun (self: t_u16) (other: t_u16) (out: t_u16) -> true); - f_div = fun (self: t_u16) (other: t_u16) -> t_u16 (self._0 /! other._0) <: t_u16 - } - -let wrapping_div366977334 (self rhs: t_u16) : t_u16 = self /! rhs - -let wrapping_div_euclid22267888 (self rhs: t_u16) : t_u16 = self /! rhs - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_44: Core.Ops.Arith.t_Div t_u32 t_u32 = - { - f_Output = t_u32; - f_div_pre = (fun (self: t_u32) (other: t_u32) -> true); - f_div_post = (fun (self: t_u32) (other: t_u32) (out: t_u32) -> true); - f_div = fun (self: t_u32) (other: t_u32) -> t_u32 (self._0 /! other._0) <: t_u32 - } - -let wrapping_div931150450 (self rhs: t_u32) : t_u32 = self /! rhs - -let wrapping_div_euclid606291997 (self rhs: t_u32) : t_u32 = self /! rhs - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_45: Core.Ops.Arith.t_Div t_u64 t_u64 = - { - f_Output = t_u64; - f_div_pre = (fun (self: t_u64) (other: t_u64) -> true); - f_div_post = (fun (self: t_u64) (other: t_u64) (out: t_u64) -> true); - f_div = fun (self: t_u64) (other: t_u64) -> t_u64 (self._0 /! other._0) <: t_u64 - } - -let wrapping_div168427046 (self rhs: t_u64) : t_u64 = self /! rhs - -let wrapping_div_euclid321252086 (self rhs: t_u64) : t_u64 = self /! rhs - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_46: Core.Ops.Arith.t_Div t_u128 t_u128 = - { - f_Output = t_u128; - f_div_pre = (fun (self: t_u128) (other: t_u128) -> true); - f_div_post = (fun (self: t_u128) (other: t_u128) (out: t_u128) -> true); - f_div = fun (self: t_u128) (other: t_u128) -> t_u128 (self._0 /! other._0) <: t_u128 - } - -let wrapping_div692427683 (self rhs: t_u128) : t_u128 = self /! rhs - -let wrapping_div_euclid926334515 (self rhs: t_u128) : t_u128 = self /! rhs - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_47: Core.Ops.Arith.t_Div t_usize t_usize = - { - f_Output = t_usize; - f_div_pre = (fun (self: t_usize) (other: t_usize) -> true); - f_div_post = (fun (self: t_usize) (other: t_usize) (out: t_usize) -> true); - f_div = fun (self: t_usize) (other: t_usize) -> t_usize (self._0 /! other._0) <: t_usize - } - -let wrapping_div905768546 (self rhs: t_usize) : t_usize = self /! rhs - -let wrapping_div_euclid90317722 (self rhs: t_usize) : t_usize = self /! rhs - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_54: Core.Ops.Arith.t_Rem t_u8 t_u8 = - { - f_Output = t_u8; - f_rem_pre = (fun (self: t_u8) (other: t_u8) -> true); - f_rem_post = (fun (self: t_u8) (other: t_u8) (out: t_u8) -> true); - f_rem = fun (self: t_u8) (other: t_u8) -> t_u8 (self._0 %! other._0) <: t_u8 - } - -let wrapping_rem984569721 (self rhs: t_u8) : t_u8 = self %! rhs - -let wrapping_rem_euclid946579345 (self rhs: t_u8) : t_u8 = self %! rhs - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_55: Core.Ops.Arith.t_Rem t_u16 t_u16 = - { - f_Output = t_u16; - f_rem_pre = (fun (self: t_u16) (other: t_u16) -> true); - f_rem_post = (fun (self: t_u16) (other: t_u16) (out: t_u16) -> true); - f_rem = fun (self: t_u16) (other: t_u16) -> t_u16 (self._0 %! other._0) <: t_u16 - } - -let wrapping_rem378598035 (self rhs: t_u16) : t_u16 = self %! rhs - -let wrapping_rem_euclid602402638 (self rhs: t_u16) : t_u16 = self %! rhs - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_56: Core.Ops.Arith.t_Rem t_u32 t_u32 = - { - f_Output = t_u32; - f_rem_pre = (fun (self: t_u32) (other: t_u32) -> true); - f_rem_post = (fun (self: t_u32) (other: t_u32) (out: t_u32) -> true); - f_rem = fun (self: t_u32) (other: t_u32) -> t_u32 (self._0 %! other._0) <: t_u32 - } - -let wrapping_rem292009099 (self rhs: t_u32) : t_u32 = self %! rhs - -let wrapping_rem_euclid1020271291 (self rhs: t_u32) : t_u32 = self %! rhs - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_57: Core.Ops.Arith.t_Rem t_u64 t_u64 = - { - f_Output = t_u64; - f_rem_pre = (fun (self: t_u64) (other: t_u64) -> true); - f_rem_post = (fun (self: t_u64) (other: t_u64) (out: t_u64) -> true); - f_rem = fun (self: t_u64) (other: t_u64) -> t_u64 (self._0 %! other._0) <: t_u64 - } - -let wrapping_rem390602260 (self rhs: t_u64) : t_u64 = self %! rhs - -let wrapping_rem_euclid839264546 (self rhs: t_u64) : t_u64 = self %! rhs - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_58: Core.Ops.Arith.t_Rem t_u128 t_u128 = - { - f_Output = t_u128; - f_rem_pre = (fun (self: t_u128) (other: t_u128) -> true); - f_rem_post = (fun (self: t_u128) (other: t_u128) (out: t_u128) -> true); - f_rem = fun (self: t_u128) (other: t_u128) -> t_u128 (self._0 %! other._0) <: t_u128 - } - -let wrapping_rem332379920 (self rhs: t_u128) : t_u128 = self %! rhs - -let wrapping_rem_euclid646122423 (self rhs: t_u128) : t_u128 = self %! rhs - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_59: Core.Ops.Arith.t_Rem t_usize t_usize = - { - f_Output = t_usize; - f_rem_pre = (fun (self: t_usize) (other: t_usize) -> true); - f_rem_post = (fun (self: t_usize) (other: t_usize) (out: t_usize) -> true); - f_rem = fun (self: t_usize) (other: t_usize) -> t_usize (self._0 %! other._0) <: t_usize - } - -let wrapping_rem333089373 (self rhs: t_usize) : t_usize = self %! rhs - -let wrapping_rem_euclid769656504 (self rhs: t_usize) : t_usize = self %! rhs - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_6: Core.Ops.Bit.t_Shr t_u8 t_u8 = - { - f_Output = t_u8; - f_shr_pre = (fun (self: t_u8) (other: t_u8) -> true); - f_shr_post = (fun (self: t_u8) (other: t_u8) (out: t_u8) -> true); - f_shr = fun (self: t_u8) (other: t_u8) -> t_u8 (self._0 >>! other._0) <: t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_7: Core.Ops.Bit.t_Shr t_u8 t_u16 = - { - f_Output = t_u8; - f_shr_pre = (fun (self: t_u8) (other: t_u16) -> true); - f_shr_post = (fun (self: t_u8) (other: t_u16) (out: t_u8) -> true); - f_shr = fun (self: t_u8) (other: t_u16) -> t_u8 (self._0 >>! other._0) <: t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_8: Core.Ops.Bit.t_Shr t_u8 t_u32 = - { - f_Output = t_u8; - f_shr_pre = (fun (self: t_u8) (other: t_u32) -> true); - f_shr_post = (fun (self: t_u8) (other: t_u32) (out: t_u8) -> true); - f_shr = fun (self: t_u8) (other: t_u32) -> t_u8 (self._0 >>! other._0) <: t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_9: Core.Ops.Bit.t_Shr t_u8 t_u64 = - { - f_Output = t_u8; - f_shr_pre = (fun (self: t_u8) (other: t_u64) -> true); - f_shr_post = (fun (self: t_u8) (other: t_u64) (out: t_u8) -> true); - f_shr = fun (self: t_u8) (other: t_u64) -> t_u8 (self._0 >>! other._0) <: t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_10: Core.Ops.Bit.t_Shr t_u8 t_u128 = - { - f_Output = t_u8; - f_shr_pre = (fun (self: t_u8) (other: t_u128) -> true); - f_shr_post = (fun (self: t_u8) (other: t_u128) (out: t_u8) -> true); - f_shr = fun (self: t_u8) (other: t_u128) -> t_u8 (self._0 >>! other._0) <: t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_11: Core.Ops.Bit.t_Shr t_u8 t_usize = - { - f_Output = t_u8; - f_shr_pre = (fun (self: t_u8) (other: t_usize) -> true); - f_shr_post = (fun (self: t_u8) (other: t_usize) (out: t_u8) -> true); - f_shr = fun (self: t_u8) (other: t_usize) -> t_u8 (self._0 >>! other._0) <: t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_12: Core.Ops.Bit.t_Shr t_u16 t_u8 = - { - f_Output = t_u16; - f_shr_pre = (fun (self: t_u16) (other: t_u8) -> true); - f_shr_post = (fun (self: t_u16) (other: t_u8) (out: t_u16) -> true); - f_shr = fun (self: t_u16) (other: t_u8) -> t_u16 (self._0 >>! other._0) <: t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_13: Core.Ops.Bit.t_Shr t_u16 t_u16 = - { - f_Output = t_u16; - f_shr_pre = (fun (self: t_u16) (other: t_u16) -> true); - f_shr_post = (fun (self: t_u16) (other: t_u16) (out: t_u16) -> true); - f_shr = fun (self: t_u16) (other: t_u16) -> t_u16 (self._0 >>! other._0) <: t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_14: Core.Ops.Bit.t_Shr t_u16 t_u32 = - { - f_Output = t_u16; - f_shr_pre = (fun (self: t_u16) (other: t_u32) -> true); - f_shr_post = (fun (self: t_u16) (other: t_u32) (out: t_u16) -> true); - f_shr = fun (self: t_u16) (other: t_u32) -> t_u16 (self._0 >>! other._0) <: t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_15: Core.Ops.Bit.t_Shr t_u16 t_u64 = - { - f_Output = t_u16; - f_shr_pre = (fun (self: t_u16) (other: t_u64) -> true); - f_shr_post = (fun (self: t_u16) (other: t_u64) (out: t_u16) -> true); - f_shr = fun (self: t_u16) (other: t_u64) -> t_u16 (self._0 >>! other._0) <: t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_16: Core.Ops.Bit.t_Shr t_u16 t_u128 = - { - f_Output = t_u16; - f_shr_pre = (fun (self: t_u16) (other: t_u128) -> true); - f_shr_post = (fun (self: t_u16) (other: t_u128) (out: t_u16) -> true); - f_shr = fun (self: t_u16) (other: t_u128) -> t_u16 (self._0 >>! other._0) <: t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_17: Core.Ops.Bit.t_Shr t_u16 t_usize = - { - f_Output = t_u16; - f_shr_pre = (fun (self: t_u16) (other: t_usize) -> true); - f_shr_post = (fun (self: t_u16) (other: t_usize) (out: t_u16) -> true); - f_shr = fun (self: t_u16) (other: t_usize) -> t_u16 (self._0 >>! other._0) <: t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_18: Core.Ops.Bit.t_Shr t_u32 t_u8 = - { - f_Output = t_u32; - f_shr_pre = (fun (self: t_u32) (other: t_u8) -> true); - f_shr_post = (fun (self: t_u32) (other: t_u8) (out: t_u32) -> true); - f_shr = fun (self: t_u32) (other: t_u8) -> t_u32 (self._0 >>! other._0) <: t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_19: Core.Ops.Bit.t_Shr t_u32 t_u16 = - { - f_Output = t_u32; - f_shr_pre = (fun (self: t_u32) (other: t_u16) -> true); - f_shr_post = (fun (self: t_u32) (other: t_u16) (out: t_u32) -> true); - f_shr = fun (self: t_u32) (other: t_u16) -> t_u32 (self._0 >>! other._0) <: t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_20: Core.Ops.Bit.t_Shr t_u32 t_u32 = - { - f_Output = t_u32; - f_shr_pre = (fun (self: t_u32) (other: t_u32) -> true); - f_shr_post = (fun (self: t_u32) (other: t_u32) (out: t_u32) -> true); - f_shr = fun (self: t_u32) (other: t_u32) -> t_u32 (self._0 >>! other._0) <: t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_21: Core.Ops.Bit.t_Shr t_u32 t_u64 = - { - f_Output = t_u32; - f_shr_pre = (fun (self: t_u32) (other: t_u64) -> true); - f_shr_post = (fun (self: t_u32) (other: t_u64) (out: t_u32) -> true); - f_shr = fun (self: t_u32) (other: t_u64) -> t_u32 (self._0 >>! other._0) <: t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_22: Core.Ops.Bit.t_Shr t_u32 t_u128 = - { - f_Output = t_u32; - f_shr_pre = (fun (self: t_u32) (other: t_u128) -> true); - f_shr_post = (fun (self: t_u32) (other: t_u128) (out: t_u32) -> true); - f_shr = fun (self: t_u32) (other: t_u128) -> t_u32 (self._0 >>! other._0) <: t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_23: Core.Ops.Bit.t_Shr t_u32 t_usize = - { - f_Output = t_u32; - f_shr_pre = (fun (self: t_u32) (other: t_usize) -> true); - f_shr_post = (fun (self: t_u32) (other: t_usize) (out: t_u32) -> true); - f_shr = fun (self: t_u32) (other: t_usize) -> t_u32 (self._0 >>! other._0) <: t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_24: Core.Ops.Bit.t_Shr t_u64 t_u8 = - { - f_Output = t_u64; - f_shr_pre = (fun (self: t_u64) (other: t_u8) -> true); - f_shr_post = (fun (self: t_u64) (other: t_u8) (out: t_u64) -> true); - f_shr = fun (self: t_u64) (other: t_u8) -> t_u64 (self._0 >>! other._0) <: t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_25: Core.Ops.Bit.t_Shr t_u64 t_u16 = - { - f_Output = t_u64; - f_shr_pre = (fun (self: t_u64) (other: t_u16) -> true); - f_shr_post = (fun (self: t_u64) (other: t_u16) (out: t_u64) -> true); - f_shr = fun (self: t_u64) (other: t_u16) -> t_u64 (self._0 >>! other._0) <: t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_26: Core.Ops.Bit.t_Shr t_u64 t_u32 = - { - f_Output = t_u64; - f_shr_pre = (fun (self: t_u64) (other: t_u32) -> true); - f_shr_post = (fun (self: t_u64) (other: t_u32) (out: t_u64) -> true); - f_shr = fun (self: t_u64) (other: t_u32) -> t_u64 (self._0 >>! other._0) <: t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_27: Core.Ops.Bit.t_Shr t_u64 t_u64 = - { - f_Output = t_u64; - f_shr_pre = (fun (self: t_u64) (other: t_u64) -> true); - f_shr_post = (fun (self: t_u64) (other: t_u64) (out: t_u64) -> true); - f_shr = fun (self: t_u64) (other: t_u64) -> t_u64 (self._0 >>! other._0) <: t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_28: Core.Ops.Bit.t_Shr t_u64 t_u128 = - { - f_Output = t_u64; - f_shr_pre = (fun (self: t_u64) (other: t_u128) -> true); - f_shr_post = (fun (self: t_u64) (other: t_u128) (out: t_u64) -> true); - f_shr = fun (self: t_u64) (other: t_u128) -> t_u64 (self._0 >>! other._0) <: t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_29: Core.Ops.Bit.t_Shr t_u64 t_usize = - { - f_Output = t_u64; - f_shr_pre = (fun (self: t_u64) (other: t_usize) -> true); - f_shr_post = (fun (self: t_u64) (other: t_usize) (out: t_u64) -> true); - f_shr = fun (self: t_u64) (other: t_usize) -> t_u64 (self._0 >>! other._0) <: t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_30: Core.Ops.Bit.t_Shr t_u128 t_u8 = - { - f_Output = t_u128; - f_shr_pre = (fun (self: t_u128) (other: t_u8) -> true); - f_shr_post = (fun (self: t_u128) (other: t_u8) (out: t_u128) -> true); - f_shr = fun (self: t_u128) (other: t_u8) -> t_u128 (self._0 >>! other._0) <: t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_31: Core.Ops.Bit.t_Shr t_u128 t_u16 = - { - f_Output = t_u128; - f_shr_pre = (fun (self: t_u128) (other: t_u16) -> true); - f_shr_post = (fun (self: t_u128) (other: t_u16) (out: t_u128) -> true); - f_shr = fun (self: t_u128) (other: t_u16) -> t_u128 (self._0 >>! other._0) <: t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_32: Core.Ops.Bit.t_Shr t_u128 t_u32 = - { - f_Output = t_u128; - f_shr_pre = (fun (self: t_u128) (other: t_u32) -> true); - f_shr_post = (fun (self: t_u128) (other: t_u32) (out: t_u128) -> true); - f_shr = fun (self: t_u128) (other: t_u32) -> t_u128 (self._0 >>! other._0) <: t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_33: Core.Ops.Bit.t_Shr t_u128 t_u64 = - { - f_Output = t_u128; - f_shr_pre = (fun (self: t_u128) (other: t_u64) -> true); - f_shr_post = (fun (self: t_u128) (other: t_u64) (out: t_u128) -> true); - f_shr = fun (self: t_u128) (other: t_u64) -> t_u128 (self._0 >>! other._0) <: t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_34: Core.Ops.Bit.t_Shr t_u128 t_u128 = - { - f_Output = t_u128; - f_shr_pre = (fun (self: t_u128) (other: t_u128) -> true); - f_shr_post = (fun (self: t_u128) (other: t_u128) (out: t_u128) -> true); - f_shr = fun (self: t_u128) (other: t_u128) -> t_u128 (self._0 >>! other._0) <: t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_35: Core.Ops.Bit.t_Shr t_u128 t_usize = - { - f_Output = t_u128; - f_shr_pre = (fun (self: t_u128) (other: t_usize) -> true); - f_shr_post = (fun (self: t_u128) (other: t_usize) (out: t_u128) -> true); - f_shr = fun (self: t_u128) (other: t_usize) -> t_u128 (self._0 >>! other._0) <: t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_36: Core.Ops.Bit.t_Shr t_usize t_u8 = - { - f_Output = t_usize; - f_shr_pre = (fun (self: t_usize) (other: t_u8) -> true); - f_shr_post = (fun (self: t_usize) (other: t_u8) (out: t_usize) -> true); - f_shr = fun (self: t_usize) (other: t_u8) -> t_usize (self._0 >>! other._0) <: t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_37: Core.Ops.Bit.t_Shr t_usize t_u16 = - { - f_Output = t_usize; - f_shr_pre = (fun (self: t_usize) (other: t_u16) -> true); - f_shr_post = (fun (self: t_usize) (other: t_u16) (out: t_usize) -> true); - f_shr = fun (self: t_usize) (other: t_u16) -> t_usize (self._0 >>! other._0) <: t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_38: Core.Ops.Bit.t_Shr t_usize t_u32 = - { - f_Output = t_usize; - f_shr_pre = (fun (self: t_usize) (other: t_u32) -> true); - f_shr_post = (fun (self: t_usize) (other: t_u32) (out: t_usize) -> true); - f_shr = fun (self: t_usize) (other: t_u32) -> t_usize (self._0 >>! other._0) <: t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_39: Core.Ops.Bit.t_Shr t_usize t_u64 = - { - f_Output = t_usize; - f_shr_pre = (fun (self: t_usize) (other: t_u64) -> true); - f_shr_post = (fun (self: t_usize) (other: t_u64) (out: t_usize) -> true); - f_shr = fun (self: t_usize) (other: t_u64) -> t_usize (self._0 >>! other._0) <: t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_40: Core.Ops.Bit.t_Shr t_usize t_u128 = - { - f_Output = t_usize; - f_shr_pre = (fun (self: t_usize) (other: t_u128) -> true); - f_shr_post = (fun (self: t_usize) (other: t_u128) (out: t_usize) -> true); - f_shr = fun (self: t_usize) (other: t_u128) -> t_usize (self._0 >>! other._0) <: t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_41: Core.Ops.Bit.t_Shr t_usize t_usize = - { - f_Output = t_usize; - f_shr_pre = (fun (self: t_usize) (other: t_usize) -> true); - f_shr_post = (fun (self: t_usize) (other: t_usize) (out: t_usize) -> true); - f_shr = fun (self: t_usize) (other: t_usize) -> t_usize (self._0 >>! other._0) <: t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_42: Core.Ops.Bit.t_Shl t_u8 t_u8 = - { - f_Output = t_u8; - f_shl_pre = (fun (self: t_u8) (other: t_u8) -> true); - f_shl_post = (fun (self: t_u8) (other: t_u8) (out: t_u8) -> true); - f_shl = fun (self: t_u8) (other: t_u8) -> t_u8 (self._0 < true); - f_shl_post = (fun (self: t_u8) (other: t_u16) (out: t_u8) -> true); - f_shl = fun (self: t_u8) (other: t_u16) -> t_u8 (self._0 < true); - f_shl_post = (fun (self: t_u8) (other: t_u32) (out: t_u8) -> true); - f_shl = fun (self: t_u8) (other: t_u32) -> t_u8 (self._0 < true); - f_shl_post = (fun (self: t_u8) (other: t_u64) (out: t_u8) -> true); - f_shl = fun (self: t_u8) (other: t_u64) -> t_u8 (self._0 < true); - f_shl_post = (fun (self: t_u8) (other: t_u128) (out: t_u8) -> true); - f_shl = fun (self: t_u8) (other: t_u128) -> t_u8 (self._0 < true); - f_shl_post = (fun (self: t_u8) (other: t_usize) (out: t_u8) -> true); - f_shl = fun (self: t_u8) (other: t_usize) -> t_u8 (self._0 < true); - f_shl_post = (fun (self: t_u16) (other: t_u8) (out: t_u16) -> true); - f_shl = fun (self: t_u16) (other: t_u8) -> t_u16 (self._0 < true); - f_shl_post = (fun (self: t_u16) (other: t_u16) (out: t_u16) -> true); - f_shl = fun (self: t_u16) (other: t_u16) -> t_u16 (self._0 < true); - f_shl_post = (fun (self: t_u16) (other: t_u32) (out: t_u16) -> true); - f_shl = fun (self: t_u16) (other: t_u32) -> t_u16 (self._0 < true); - f_shl_post = (fun (self: t_u16) (other: t_u64) (out: t_u16) -> true); - f_shl = fun (self: t_u16) (other: t_u64) -> t_u16 (self._0 < true); - f_shl_post = (fun (self: t_u16) (other: t_u128) (out: t_u16) -> true); - f_shl = fun (self: t_u16) (other: t_u128) -> t_u16 (self._0 < true); - f_shl_post = (fun (self: t_u16) (other: t_usize) (out: t_u16) -> true); - f_shl = fun (self: t_u16) (other: t_usize) -> t_u16 (self._0 < true); - f_shl_post = (fun (self: t_u32) (other: t_u8) (out: t_u32) -> true); - f_shl = fun (self: t_u32) (other: t_u8) -> t_u32 (self._0 < true); - f_shl_post = (fun (self: t_u32) (other: t_u16) (out: t_u32) -> true); - f_shl = fun (self: t_u32) (other: t_u16) -> t_u32 (self._0 < true); - f_shl_post = (fun (self: t_u32) (other: t_u32) (out: t_u32) -> true); - f_shl = fun (self: t_u32) (other: t_u32) -> t_u32 (self._0 < true); - f_shl_post = (fun (self: t_u32) (other: t_u64) (out: t_u32) -> true); - f_shl = fun (self: t_u32) (other: t_u64) -> t_u32 (self._0 < true); - f_shl_post = (fun (self: t_u32) (other: t_u128) (out: t_u32) -> true); - f_shl = fun (self: t_u32) (other: t_u128) -> t_u32 (self._0 < true); - f_shl_post = (fun (self: t_u32) (other: t_usize) (out: t_u32) -> true); - f_shl = fun (self: t_u32) (other: t_usize) -> t_u32 (self._0 < true); - f_shl_post = (fun (self: t_u64) (other: t_u8) (out: t_u64) -> true); - f_shl = fun (self: t_u64) (other: t_u8) -> t_u64 (self._0 < true); - f_shl_post = (fun (self: t_u64) (other: t_u16) (out: t_u64) -> true); - f_shl = fun (self: t_u64) (other: t_u16) -> t_u64 (self._0 < true); - f_shl_post = (fun (self: t_u64) (other: t_u32) (out: t_u64) -> true); - f_shl = fun (self: t_u64) (other: t_u32) -> t_u64 (self._0 < true); - f_shl_post = (fun (self: t_u64) (other: t_u64) (out: t_u64) -> true); - f_shl = fun (self: t_u64) (other: t_u64) -> t_u64 (self._0 < true); - f_shl_post = (fun (self: t_u64) (other: t_u128) (out: t_u64) -> true); - f_shl = fun (self: t_u64) (other: t_u128) -> t_u64 (self._0 < true); - f_shl_post = (fun (self: t_u64) (other: t_usize) (out: t_u64) -> true); - f_shl = fun (self: t_u64) (other: t_usize) -> t_u64 (self._0 < true); - f_shl_post = (fun (self: t_u128) (other: t_u8) (out: t_u128) -> true); - f_shl = fun (self: t_u128) (other: t_u8) -> t_u128 (self._0 < true); - f_shl_post = (fun (self: t_u128) (other: t_u16) (out: t_u128) -> true); - f_shl = fun (self: t_u128) (other: t_u16) -> t_u128 (self._0 < true); - f_shl_post = (fun (self: t_u128) (other: t_u32) (out: t_u128) -> true); - f_shl = fun (self: t_u128) (other: t_u32) -> t_u128 (self._0 < true); - f_shl_post = (fun (self: t_u128) (other: t_u64) (out: t_u128) -> true); - f_shl = fun (self: t_u128) (other: t_u64) -> t_u128 (self._0 < true); - f_shl_post = (fun (self: t_u128) (other: t_u128) (out: t_u128) -> true); - f_shl = fun (self: t_u128) (other: t_u128) -> t_u128 (self._0 < true); - f_shl_post = (fun (self: t_u128) (other: t_usize) (out: t_u128) -> true); - f_shl = fun (self: t_u128) (other: t_usize) -> t_u128 (self._0 < true); - f_shl_post = (fun (self: t_usize) (other: t_u8) (out: t_usize) -> true); - f_shl = fun (self: t_usize) (other: t_u8) -> t_usize (self._0 < true); - f_shl_post = (fun (self: t_usize) (other: t_u16) (out: t_usize) -> true); - f_shl = fun (self: t_usize) (other: t_u16) -> t_usize (self._0 < true); - f_shl_post = (fun (self: t_usize) (other: t_u32) (out: t_usize) -> true); - f_shl = fun (self: t_usize) (other: t_u32) -> t_usize (self._0 < true); - f_shl_post = (fun (self: t_usize) (other: t_u64) (out: t_usize) -> true); - f_shl = fun (self: t_usize) (other: t_u64) -> t_usize (self._0 < true); - f_shl_post = (fun (self: t_usize) (other: t_u128) (out: t_usize) -> true); - f_shl = fun (self: t_usize) (other: t_u128) -> t_usize (self._0 < true); - f_shl_post = (fun (self: t_usize) (other: t_usize) (out: t_usize) -> true); - f_shl = fun (self: t_usize) (other: t_usize) -> t_usize (self._0 < true); - f_bitor_post = (fun (self: t_u8) (other: t_u8) (out: t_u8) -> true); - f_bitor = fun (self: t_u8) (other: t_u8) -> t_u8 (self._0 |. other._0) <: t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_79: Core.Ops.Bit.t_BitOr t_u16 t_u16 = - { - f_Output = t_u16; - f_bitor_pre = (fun (self: t_u16) (other: t_u16) -> true); - f_bitor_post = (fun (self: t_u16) (other: t_u16) (out: t_u16) -> true); - f_bitor = fun (self: t_u16) (other: t_u16) -> t_u16 (self._0 |. other._0) <: t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_80: Core.Ops.Bit.t_BitOr t_u32 t_u32 = - { - f_Output = t_u32; - f_bitor_pre = (fun (self: t_u32) (other: t_u32) -> true); - f_bitor_post = (fun (self: t_u32) (other: t_u32) (out: t_u32) -> true); - f_bitor = fun (self: t_u32) (other: t_u32) -> t_u32 (self._0 |. other._0) <: t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_81: Core.Ops.Bit.t_BitOr t_u64 t_u64 = - { - f_Output = t_u64; - f_bitor_pre = (fun (self: t_u64) (other: t_u64) -> true); - f_bitor_post = (fun (self: t_u64) (other: t_u64) (out: t_u64) -> true); - f_bitor = fun (self: t_u64) (other: t_u64) -> t_u64 (self._0 |. other._0) <: t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_82: Core.Ops.Bit.t_BitOr t_u128 t_u128 = - { - f_Output = t_u128; - f_bitor_pre = (fun (self: t_u128) (other: t_u128) -> true); - f_bitor_post = (fun (self: t_u128) (other: t_u128) (out: t_u128) -> true); - f_bitor = fun (self: t_u128) (other: t_u128) -> t_u128 (self._0 |. other._0) <: t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_83: Core.Ops.Bit.t_BitOr t_usize t_usize = - { - f_Output = t_usize; - f_bitor_pre = (fun (self: t_usize) (other: t_usize) -> true); - f_bitor_post = (fun (self: t_usize) (other: t_usize) (out: t_usize) -> true); - f_bitor = fun (self: t_usize) (other: t_usize) -> t_usize (self._0 |. other._0) <: t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_90: Core.Ops.Bit.t_BitXor t_u8 t_u8 = - { - f_Output = t_u8; - f_bitxor_pre = (fun (self: t_u8) (other: t_u8) -> true); - f_bitxor_post = (fun (self: t_u8) (other: t_u8) (out: t_u8) -> true); - f_bitxor = fun (self: t_u8) (other: t_u8) -> t_u8 (self._0 ^. other._0) <: t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_91: Core.Ops.Bit.t_BitXor t_u16 t_u16 = - { - f_Output = t_u16; - f_bitxor_pre = (fun (self: t_u16) (other: t_u16) -> true); - f_bitxor_post = (fun (self: t_u16) (other: t_u16) (out: t_u16) -> true); - f_bitxor = fun (self: t_u16) (other: t_u16) -> t_u16 (self._0 ^. other._0) <: t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_92: Core.Ops.Bit.t_BitXor t_u32 t_u32 = - { - f_Output = t_u32; - f_bitxor_pre = (fun (self: t_u32) (other: t_u32) -> true); - f_bitxor_post = (fun (self: t_u32) (other: t_u32) (out: t_u32) -> true); - f_bitxor = fun (self: t_u32) (other: t_u32) -> t_u32 (self._0 ^. other._0) <: t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_93: Core.Ops.Bit.t_BitXor t_u64 t_u64 = - { - f_Output = t_u64; - f_bitxor_pre = (fun (self: t_u64) (other: t_u64) -> true); - f_bitxor_post = (fun (self: t_u64) (other: t_u64) (out: t_u64) -> true); - f_bitxor = fun (self: t_u64) (other: t_u64) -> t_u64 (self._0 ^. other._0) <: t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_94: Core.Ops.Bit.t_BitXor t_u128 t_u128 = - { - f_Output = t_u128; - f_bitxor_pre = (fun (self: t_u128) (other: t_u128) -> true); - f_bitxor_post = (fun (self: t_u128) (other: t_u128) (out: t_u128) -> true); - f_bitxor = fun (self: t_u128) (other: t_u128) -> t_u128 (self._0 ^. other._0) <: t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_95: Core.Ops.Bit.t_BitXor t_usize t_usize = - { - f_Output = t_usize; - f_bitxor_pre = (fun (self: t_usize) (other: t_usize) -> true); - f_bitxor_post = (fun (self: t_usize) (other: t_usize) (out: t_usize) -> true); - f_bitxor = fun (self: t_usize) (other: t_usize) -> t_usize (self._0 ^. other._0) <: t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_96: Core.Ops.Bit.t_BitAnd t_u8 t_u8 = - { - f_Output = t_u8; - f_bitand_pre = (fun (self: t_u8) (other: t_u8) -> true); - f_bitand_post = (fun (self: t_u8) (other: t_u8) (out: t_u8) -> true); - f_bitand = fun (self: t_u8) (other: t_u8) -> t_u8 (self._0 &. other._0) <: t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_97: Core.Ops.Bit.t_BitAnd t_u16 t_u16 = - { - f_Output = t_u16; - f_bitand_pre = (fun (self: t_u16) (other: t_u16) -> true); - f_bitand_post = (fun (self: t_u16) (other: t_u16) (out: t_u16) -> true); - f_bitand = fun (self: t_u16) (other: t_u16) -> t_u16 (self._0 &. other._0) <: t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_98: Core.Ops.Bit.t_BitAnd t_u32 t_u32 = - { - f_Output = t_u32; - f_bitand_pre = (fun (self: t_u32) (other: t_u32) -> true); - f_bitand_post = (fun (self: t_u32) (other: t_u32) (out: t_u32) -> true); - f_bitand = fun (self: t_u32) (other: t_u32) -> t_u32 (self._0 &. other._0) <: t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_99: Core.Ops.Bit.t_BitAnd t_u64 t_u64 = - { - f_Output = t_u64; - f_bitand_pre = (fun (self: t_u64) (other: t_u64) -> true); - f_bitand_post = (fun (self: t_u64) (other: t_u64) (out: t_u64) -> true); - f_bitand = fun (self: t_u64) (other: t_u64) -> t_u64 (self._0 &. other._0) <: t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_100: Core.Ops.Bit.t_BitAnd t_u128 t_u128 = - { - f_Output = t_u128; - f_bitand_pre = (fun (self: t_u128) (other: t_u128) -> true); - f_bitand_post = (fun (self: t_u128) (other: t_u128) (out: t_u128) -> true); - f_bitand = fun (self: t_u128) (other: t_u128) -> t_u128 (self._0 &. other._0) <: t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_101: Core.Ops.Bit.t_BitAnd t_usize t_usize = - { - f_Output = t_usize; - f_bitand_pre = (fun (self: t_usize) (other: t_usize) -> true); - f_bitand_post = (fun (self: t_usize) (other: t_usize) (out: t_usize) -> true); - f_bitand = fun (self: t_usize) (other: t_usize) -> t_usize (self._0 &. other._0) <: t_usize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_18: Core.Ops.Arith.t_Sub t_u8 t_u8 = - { - f_Output = t_u8; - f_sub_pre = (fun (self: t_u8) (other: t_u8) -> true); - f_sub_post = (fun (self: t_u8) (other: t_u8) (out: t_u8) -> true); - f_sub = fun (self: t_u8) (other: t_u8) -> t_u8 (self._0 -! other._0) <: t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_19: Core.Ops.Arith.t_Sub t_u16 t_u16 = - { - f_Output = t_u16; - f_sub_pre = (fun (self: t_u16) (other: t_u16) -> true); - f_sub_post = (fun (self: t_u16) (other: t_u16) (out: t_u16) -> true); - f_sub = fun (self: t_u16) (other: t_u16) -> t_u16 (self._0 -! other._0) <: t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_20: Core.Ops.Arith.t_Sub t_u32 t_u32 = - { - f_Output = t_u32; - f_sub_pre = (fun (self: t_u32) (other: t_u32) -> true); - f_sub_post = (fun (self: t_u32) (other: t_u32) (out: t_u32) -> true); - f_sub = fun (self: t_u32) (other: t_u32) -> t_u32 (self._0 -! other._0) <: t_u32 - } - -let rotate_left_u128 (x: t_u128) (shift: t_u32) : t_u128 = - let (shift: t_u32):t_u32 = shift %! v_BITS136999051 in - let (left: t_u128):t_u128 = - (Core.Clone.f_clone #t_u128 #FStar.Tactics.Typeclasses.solve x <: t_u128) <>! - (v_BITS136999051 -! (Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve shift <: t_u32) - <: - t_u32) - in - left |. right - -let rotate_left_u16 (x: t_u16) (shift: t_u32) : t_u16 = - let (shift: t_u32):t_u32 = shift %! v_BITS277333551 in - let (left: t_u16):t_u16 = - (Core.Clone.f_clone #t_u16 #FStar.Tactics.Typeclasses.solve x <: t_u16) <>! - (v_BITS277333551 -! (Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve shift <: t_u32) - <: - t_u32) - in - left |. right - -let rotate_left_u32 (x shift: t_u32) : t_u32 = - let (shift: t_u32):t_u32 = shift %! v_BITS473478051 in - let (left: t_u32):t_u32 = - (Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve x <: t_u32) <>! - (v_BITS473478051 -! (Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve shift <: t_u32) - <: - t_u32) - in - left |. right - -let rotate_left_u64 (x: t_u64) (shift: t_u32) : t_u64 = - let (shift: t_u32):t_u32 = shift %! v_BITS177666292 in - let (left: t_u64):t_u64 = - (Core.Clone.f_clone #t_u64 #FStar.Tactics.Typeclasses.solve x <: t_u64) <>! - (v_BITS177666292 -! (Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve shift <: t_u32) - <: - t_u32) - in - left |. right - -let rotate_left_u8 (x: t_u8) (shift: t_u32) : t_u8 = - let (shift: t_u32):t_u32 = shift %! v_BITS690311813 in - let (left: t_u8):t_u8 = - (Core.Clone.f_clone #t_u8 #FStar.Tactics.Typeclasses.solve x <: t_u8) <>! - (v_BITS690311813 -! (Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve shift <: t_u32) - <: - t_u32) - in - left |. right - -let rotate_left_usize (x: t_usize) (shift: t_u32) : t_usize = - let (shift: t_u32):t_u32 = shift %! v_BITS229952196 in - let (left: t_usize):t_usize = - (Core.Clone.f_clone #t_usize #FStar.Tactics.Typeclasses.solve x <: t_usize) <>! - (v_BITS229952196 -! (Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve shift <: t_u32) - <: - t_u32) - in - left |. right - -let rotate_right_u128 (x: t_u128) (shift: t_u32) : t_u128 = - let (shift: t_u32):t_u32 = shift %! v_BITS136999051 in - let (left: t_u128):t_u128 = - (Core.Clone.f_clone #t_u128 #FStar.Tactics.Typeclasses.solve x <: t_u128) >>! - (Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve shift <: t_u32) - in - let (right: t_u128):t_u128 = - (Core.Clone.f_clone #t_u128 #FStar.Tactics.Typeclasses.solve x <: t_u128) <>! - (Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve shift <: t_u32) - in - let (right: t_u16):t_u16 = - (Core.Clone.f_clone #t_u16 #FStar.Tactics.Typeclasses.solve x <: t_u16) <>! - (Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve shift <: t_u32) - in - let (right: t_u32):t_u32 = - (Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve x <: t_u32) <>! - (Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve shift <: t_u32) - in - let (right: t_u64):t_u64 = - (Core.Clone.f_clone #t_u64 #FStar.Tactics.Typeclasses.solve x <: t_u64) <>! - (Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve shift <: t_u32) - in - let (right: t_u8):t_u8 = - (Core.Clone.f_clone #t_u8 #FStar.Tactics.Typeclasses.solve x <: t_u8) <>! - (Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve shift <: t_u32) - in - let (right: t_usize):t_usize = - (Core.Clone.f_clone #t_usize #FStar.Tactics.Typeclasses.solve x <: t_usize) < true); - f_sub_post = (fun (self: t_u64) (other: t_u64) (out: t_u64) -> true); - f_sub = fun (self: t_u64) (other: t_u64) -> t_u64 (self._0 -! other._0) <: t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_22: Core.Ops.Arith.t_Sub t_u128 t_u128 = - { - f_Output = t_u128; - f_sub_pre = (fun (self: t_u128) (other: t_u128) -> true); - f_sub_post = (fun (self: t_u128) (other: t_u128) (out: t_u128) -> true); - f_sub = fun (self: t_u128) (other: t_u128) -> t_u128 (self._0 -! other._0) <: t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_23: Core.Ops.Arith.t_Sub t_usize t_usize = - { - f_Output = t_usize; - f_sub_pre = (fun (self: t_usize) (other: t_usize) -> true); - f_sub_post = (fun (self: t_usize) (other: t_usize) (out: t_usize) -> true); - f_sub = fun (self: t_usize) (other: t_usize) -> t_usize (self._0 -! other._0) <: t_usize - } - -let bswap_u128 (x: t_u128) : t_u128 = - let (count: t_u128):t_u128 = - Core.Convert.f_into #u128 #t_u128 #FStar.Tactics.Typeclasses.solve (pub_u128 0) - in - let count:t_u128 = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS136999051 <: u32) - (fun count temp_1_ -> - let count:t_u128 = count in - let _:u32 = temp_1_ in - true) - count - (fun count i -> - let count:t_u128 = count in - let i:u32 = i in - let (low_bit: t_u128):t_u128 = - Core.Convert.f_into #t_u128 - #t_u128 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u128 #FStar.Tactics.Typeclasses.solve x <: t_u128) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_u128) &. - (Core.Convert.f_into #u128 #t_u128 #FStar.Tactics.Typeclasses.solve (pub_u128 1) - <: - t_u128) - <: - t_u128) - in - let count:t_u128 = - (count < - let count:t_u16 = count in - let _:u32 = temp_1_ in - true) - count - (fun count i -> - let count:t_u16 = count in - let i:u32 = i in - let (low_bit: t_u16):t_u16 = - Core.Convert.f_into #t_u16 - #t_u16 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u16 #FStar.Tactics.Typeclasses.solve x <: t_u16) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_u16) &. - (Core.Convert.f_into #u16 #t_u16 #FStar.Tactics.Typeclasses.solve 1us <: t_u16) - <: - t_u16) - in - let count:t_u16 = - (count < - let count:t_u32 = count in - let _:u32 = temp_1_ in - true) - count - (fun count i -> - let count:t_u32 = count in - let i:u32 = i in - let (low_bit: t_u32):t_u32 = - Core.Convert.f_into #t_u32 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve x <: t_u32) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_u32) &. - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) - <: - t_u32) - in - let count:t_u32 = - (count < - let count:t_u64 = count in - let _:u32 = temp_1_ in - true) - count - (fun count i -> - let count:t_u64 = count in - let i:u32 = i in - let (low_bit: t_u64):t_u64 = - Core.Convert.f_into #t_u64 - #t_u64 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u64 #FStar.Tactics.Typeclasses.solve x <: t_u64) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_u64) &. - (Core.Convert.f_into #u64 #t_u64 #FStar.Tactics.Typeclasses.solve 1uL <: t_u64) - <: - t_u64) - in - let count:t_u64 = - (count < - let count:t_u8 = count in - let _:u32 = temp_1_ in - true) - count - (fun count i -> - let count:t_u8 = count in - let i:u32 = i in - let (low_bit: t_u8):t_u8 = - Core.Convert.f_into #t_u8 - #t_u8 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u8 #FStar.Tactics.Typeclasses.solve x <: t_u8) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_u8) &. - (Core.Convert.f_into #u8 #t_u8 #FStar.Tactics.Typeclasses.solve 1uy <: t_u8) - <: - t_u8) - in - let count:t_u8 = - (count < - let count:t_usize = count in - let _:u32 = temp_1_ in - true) - count - (fun count i -> - let count:t_usize = count in - let i:u32 = i in - let (low_bit: t_usize):t_usize = - Core.Convert.f_into #t_usize - #t_usize - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_usize #FStar.Tactics.Typeclasses.solve x <: t_usize) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_usize) &. - (Core.Convert.f_into #usize #t_usize #FStar.Tactics.Typeclasses.solve (sz 1) - <: - t_usize) - <: - t_usize) - in - let count:t_usize = - (count < - let count, done:(t_u32 & bool) = temp_0_ in - let _:u32 = temp_1_ in - true) - (count, done <: (t_u32 & bool)) - (fun temp_0_ i -> - let count, done:(t_u32 & bool) = temp_0_ in - let i:u32 = i in - let (high_bit: t_u32):t_u32 = - Core.Convert.f_into #t_u128 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u128 #FStar.Tactics.Typeclasses.solve x <: t_u128) <>! - (Core.Convert.f_into #t_u32 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (v_BITS136999051 -! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32 - ) - <: - t_u32) - <: - t_u32) - <: - t_u128) - in - if - high_bit =. - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) || - done - then - let done:bool = true in - count, done <: (t_u32 & bool) - else - let count:t_u32 = - count +! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) - in - count, done <: (t_u32 & bool)) - in - count - -let ctlz_u16 (x: t_u16) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let done:bool = false in - let count, done:(t_u32 & bool) = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS277333551 <: u32) - (fun temp_0_ temp_1_ -> - let count, done:(t_u32 & bool) = temp_0_ in - let _:u32 = temp_1_ in - true) - (count, done <: (t_u32 & bool)) - (fun temp_0_ i -> - let count, done:(t_u32 & bool) = temp_0_ in - let i:u32 = i in - let (high_bit: t_u32):t_u32 = - Core.Convert.f_into #t_u16 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u16 #FStar.Tactics.Typeclasses.solve x <: t_u16) <>! - (Core.Convert.f_into #t_u32 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (v_BITS277333551 -! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32 - ) - <: - t_u32) - <: - t_u32) - <: - t_u16) - in - if - high_bit =. - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) || - done - then - let done:bool = true in - count, done <: (t_u32 & bool) - else - let count:t_u32 = - count +! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) - in - count, done <: (t_u32 & bool)) - in - count - -let ctlz_u32 (x: t_u32) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let done:bool = false in - let count, done:(t_u32 & bool) = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS473478051 <: u32) - (fun temp_0_ temp_1_ -> - let count, done:(t_u32 & bool) = temp_0_ in - let _:u32 = temp_1_ in - true) - (count, done <: (t_u32 & bool)) - (fun temp_0_ i -> - let count, done:(t_u32 & bool) = temp_0_ in - let i:u32 = i in - let (high_bit: t_u32):t_u32 = - Core.Convert.f_into #t_u32 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve x <: t_u32) <>! - (Core.Convert.f_into #t_u32 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (v_BITS473478051 -! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32 - ) - <: - t_u32) - <: - t_u32) - <: - t_u32) - in - if - high_bit =. - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) || - done - then - let done:bool = true in - count, done <: (t_u32 & bool) - else - let count:t_u32 = - count +! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) - in - count, done <: (t_u32 & bool)) - in - count - -let ctlz_u64 (x: t_u64) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let done:bool = false in - let count, done:(t_u32 & bool) = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS177666292 <: u32) - (fun temp_0_ temp_1_ -> - let count, done:(t_u32 & bool) = temp_0_ in - let _:u32 = temp_1_ in - true) - (count, done <: (t_u32 & bool)) - (fun temp_0_ i -> - let count, done:(t_u32 & bool) = temp_0_ in - let i:u32 = i in - let (high_bit: t_u32):t_u32 = - Core.Convert.f_into #t_u64 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u64 #FStar.Tactics.Typeclasses.solve x <: t_u64) <>! - (Core.Convert.f_into #t_u32 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (v_BITS177666292 -! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32 - ) - <: - t_u32) - <: - t_u32) - <: - t_u64) - in - if - high_bit =. - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) || - done - then - let done:bool = true in - count, done <: (t_u32 & bool) - else - let count:t_u32 = - count +! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) - in - count, done <: (t_u32 & bool)) - in - count - -let ctlz_u8 (x: t_u8) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let done:bool = false in - let count, done:(t_u32 & bool) = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS690311813 <: u32) - (fun temp_0_ temp_1_ -> - let count, done:(t_u32 & bool) = temp_0_ in - let _:u32 = temp_1_ in - true) - (count, done <: (t_u32 & bool)) - (fun temp_0_ i -> - let count, done:(t_u32 & bool) = temp_0_ in - let i:u32 = i in - let (high_bit: t_u32):t_u32 = - Core.Convert.f_into #t_u8 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u8 #FStar.Tactics.Typeclasses.solve x <: t_u8) <>! - (Core.Convert.f_into #t_u32 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (v_BITS690311813 -! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32 - ) - <: - t_u32) - <: - t_u32) - <: - t_u8) - in - if - high_bit =. - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) || - done - then - let done:bool = true in - count, done <: (t_u32 & bool) - else - let count:t_u32 = - count +! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) - in - count, done <: (t_u32 & bool)) - in - count - -let ctlz_usize (x: t_usize) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let done:bool = false in - let count, done:(t_u32 & bool) = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS229952196 <: u32) - (fun temp_0_ temp_1_ -> - let count, done:(t_u32 & bool) = temp_0_ in - let _:u32 = temp_1_ in - true) - (count, done <: (t_u32 & bool)) - (fun temp_0_ i -> - let count, done:(t_u32 & bool) = temp_0_ in - let i:u32 = i in - let (high_bit: t_u32):t_u32 = - Core.Convert.f_into #t_usize - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_usize #FStar.Tactics.Typeclasses.solve x <: t_usize) <>! - (Core.Convert.f_into #t_u32 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (v_BITS229952196 -! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32 - ) - <: - t_u32) - <: - t_u32) - <: - t_usize) - in - if - high_bit =. - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) || - done - then - let done:bool = true in - count, done <: (t_u32 & bool) - else - let count:t_u32 = - count +! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) - in - count, done <: (t_u32 & bool)) - in - count - -let ctpop_u128 (x: t_u128) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let count:t_u32 = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS136999051 <: u32) - (fun count temp_1_ -> - let count:t_u32 = count in - let _:u32 = temp_1_ in - true) - count - (fun count i -> - let count:t_u32 = count in - let i:u32 = i in - count +! - (Core.Convert.f_into #t_u128 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u128 #FStar.Tactics.Typeclasses.solve x <: t_u128) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_u128) &. - (Core.Convert.f_into #u128 #t_u128 #FStar.Tactics.Typeclasses.solve (pub_u128 1) - <: - t_u128) - <: - t_u128) - <: - t_u32) - <: - t_u32) - in - count - -let ctpop_u16 (x: t_u16) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let count:t_u32 = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS277333551 <: u32) - (fun count temp_1_ -> - let count:t_u32 = count in - let _:u32 = temp_1_ in - true) - count - (fun count i -> - let count:t_u32 = count in - let i:u32 = i in - count +! - (Core.Convert.f_into #t_u16 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u16 #FStar.Tactics.Typeclasses.solve x <: t_u16) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_u16) &. - (Core.Convert.f_into #u16 #t_u16 #FStar.Tactics.Typeclasses.solve 1us <: t_u16) - <: - t_u16) - <: - t_u32) - <: - t_u32) - in - count - -let ctpop_u32 (x: t_u32) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let count:t_u32 = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS473478051 <: u32) - (fun count temp_1_ -> - let count:t_u32 = count in - let _:u32 = temp_1_ in - true) - count - (fun count i -> - let count:t_u32 = count in - let i:u32 = i in - count +! - (Core.Convert.f_into #t_u32 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve x <: t_u32) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_u32) &. - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) - <: - t_u32) - <: - t_u32) - <: - t_u32) - in - count - -let ctpop_u64 (x: t_u64) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let count:t_u32 = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS177666292 <: u32) - (fun count temp_1_ -> - let count:t_u32 = count in - let _:u32 = temp_1_ in - true) - count - (fun count i -> - let count:t_u32 = count in - let i:u32 = i in - count +! - (Core.Convert.f_into #t_u64 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u64 #FStar.Tactics.Typeclasses.solve x <: t_u64) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_u64) &. - (Core.Convert.f_into #u64 #t_u64 #FStar.Tactics.Typeclasses.solve 1uL <: t_u64) - <: - t_u64) - <: - t_u32) - <: - t_u32) - in - count - -let ctpop_u8 (x: t_u8) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let count:t_u32 = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS690311813 <: u32) - (fun count temp_1_ -> - let count:t_u32 = count in - let _:u32 = temp_1_ in - true) - count - (fun count i -> - let count:t_u32 = count in - let i:u32 = i in - count +! - (Core.Convert.f_into #t_u8 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u8 #FStar.Tactics.Typeclasses.solve x <: t_u8) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_u8) &. - (Core.Convert.f_into #u8 #t_u8 #FStar.Tactics.Typeclasses.solve 1uy <: t_u8) - <: - t_u8) - <: - t_u32) - <: - t_u32) - in - count - -let ctpop_usize (x: t_usize) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let count:t_u32 = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS229952196 <: u32) - (fun count temp_1_ -> - let count:t_u32 = count in - let _:u32 = temp_1_ in - true) - count - (fun count i -> - let count:t_u32 = count in - let i:u32 = i in - count +! - (Core.Convert.f_into #t_usize - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_usize #FStar.Tactics.Typeclasses.solve x <: t_usize) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_usize) &. - (Core.Convert.f_into #usize #t_usize #FStar.Tactics.Typeclasses.solve (sz 1) - <: - t_usize) - <: - t_usize) - <: - t_u32) - <: - t_u32) - in - count - -let cttz_u128 (x: t_u128) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let done:bool = false in - let count, done:(t_u32 & bool) = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS136999051 <: u32) - (fun temp_0_ temp_1_ -> - let count, done:(t_u32 & bool) = temp_0_ in - let _:u32 = temp_1_ in - true) - (count, done <: (t_u32 & bool)) - (fun temp_0_ i -> - let count, done:(t_u32 & bool) = temp_0_ in - let i:u32 = i in - let (low_bit: t_u32):t_u32 = - Core.Convert.f_into #t_u128 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u128 #FStar.Tactics.Typeclasses.solve x <: t_u128) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_u128) &. - (Core.Convert.f_into #u128 #t_u128 #FStar.Tactics.Typeclasses.solve (pub_u128 1) - <: - t_u128) - <: - t_u128) - in - if - low_bit =. - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) || - done - then - let done:bool = true in - count, done <: (t_u32 & bool) - else - let count:t_u32 = - count +! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) - in - count, done <: (t_u32 & bool)) - in - count - -let cttz_u16 (x: t_u16) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let done:bool = false in - let count, done:(t_u32 & bool) = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS277333551 <: u32) - (fun temp_0_ temp_1_ -> - let count, done:(t_u32 & bool) = temp_0_ in - let _:u32 = temp_1_ in - true) - (count, done <: (t_u32 & bool)) - (fun temp_0_ i -> - let count, done:(t_u32 & bool) = temp_0_ in - let i:u32 = i in - let (low_bit: t_u32):t_u32 = - Core.Convert.f_into #t_u16 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u16 #FStar.Tactics.Typeclasses.solve x <: t_u16) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_u16) &. - (Core.Convert.f_into #u16 #t_u16 #FStar.Tactics.Typeclasses.solve 1us <: t_u16) - <: - t_u16) - in - if - low_bit =. - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) || - done - then - let done:bool = true in - count, done <: (t_u32 & bool) - else - let count:t_u32 = - count +! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) - in - count, done <: (t_u32 & bool)) - in - count - -let cttz_u32 (x: t_u32) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let done:bool = false in - let count, done:(t_u32 & bool) = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS473478051 <: u32) - (fun temp_0_ temp_1_ -> - let count, done:(t_u32 & bool) = temp_0_ in - let _:u32 = temp_1_ in - true) - (count, done <: (t_u32 & bool)) - (fun temp_0_ i -> - let count, done:(t_u32 & bool) = temp_0_ in - let i:u32 = i in - let (low_bit: t_u32):t_u32 = - Core.Convert.f_into #t_u32 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u32 #FStar.Tactics.Typeclasses.solve x <: t_u32) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_u32) &. - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) - <: - t_u32) - in - if - low_bit =. - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) || - done - then - let done:bool = true in - count, done <: (t_u32 & bool) - else - let count:t_u32 = - count +! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) - in - count, done <: (t_u32 & bool)) - in - count - -let cttz_u64 (x: t_u64) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let done:bool = false in - let count, done:(t_u32 & bool) = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS177666292 <: u32) - (fun temp_0_ temp_1_ -> - let count, done:(t_u32 & bool) = temp_0_ in - let _:u32 = temp_1_ in - true) - (count, done <: (t_u32 & bool)) - (fun temp_0_ i -> - let count, done:(t_u32 & bool) = temp_0_ in - let i:u32 = i in - let (low_bit: t_u32):t_u32 = - Core.Convert.f_into #t_u64 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u64 #FStar.Tactics.Typeclasses.solve x <: t_u64) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_u64) &. - (Core.Convert.f_into #u64 #t_u64 #FStar.Tactics.Typeclasses.solve 1uL <: t_u64) - <: - t_u64) - in - if - low_bit =. - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) || - done - then - let done:bool = true in - count, done <: (t_u32 & bool) - else - let count:t_u32 = - count +! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) - in - count, done <: (t_u32 & bool)) - in - count - -let cttz_u8 (x: t_u8) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let done:bool = false in - let count, done:(t_u32 & bool) = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS690311813 <: u32) - (fun temp_0_ temp_1_ -> - let count, done:(t_u32 & bool) = temp_0_ in - let _:u32 = temp_1_ in - true) - (count, done <: (t_u32 & bool)) - (fun temp_0_ i -> - let count, done:(t_u32 & bool) = temp_0_ in - let i:u32 = i in - let (low_bit: t_u32):t_u32 = - Core.Convert.f_into #t_u8 - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_u8 #FStar.Tactics.Typeclasses.solve x <: t_u8) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_u8) &. - (Core.Convert.f_into #u8 #t_u8 #FStar.Tactics.Typeclasses.solve 1uy <: t_u8) - <: - t_u8) - in - if - low_bit =. - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) || - done - then - let done:bool = true in - count, done <: (t_u32 & bool) - else - let count:t_u32 = - count +! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) - in - count, done <: (t_u32 & bool)) - in - count - -let cttz_usize (x: t_usize) : t_u32 = - let (count: t_u32):t_u32 = Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 0ul in - let done:bool = false in - let count, done:(t_u32 & bool) = - Rust_primitives.Hax.Folds.fold_range 0ul - (Core.Convert.f_into #t_u32 #u32 #FStar.Tactics.Typeclasses.solve v_BITS229952196 <: u32) - (fun temp_0_ temp_1_ -> - let count, done:(t_u32 & bool) = temp_0_ in - let _:u32 = temp_1_ in - true) - (count, done <: (t_u32 & bool)) - (fun temp_0_ i -> - let count, done:(t_u32 & bool) = temp_0_ in - let i:u32 = i in - let (low_bit: t_u32):t_u32 = - Core.Convert.f_into #t_usize - #t_u32 - #FStar.Tactics.Typeclasses.solve - (((Core.Clone.f_clone #t_usize #FStar.Tactics.Typeclasses.solve x <: t_usize) >>! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve i <: t_u32) - <: - t_usize) &. - (Core.Convert.f_into #usize #t_usize #FStar.Tactics.Typeclasses.solve (sz 1) - <: - t_usize) - <: - t_usize) - in - if - low_bit =. - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) || - done - then - let done:bool = true in - count, done <: (t_u32 & bool) - else - let count:t_u32 = - count +! - (Core.Convert.f_into #u32 #t_u32 #FStar.Tactics.Typeclasses.solve 1ul <: t_u32) - in - count, done <: (t_u32 & bool)) - in - count - -let count_ones202509899 (self: t_u8) : t_u32 = ctpop_u8 self - -let leading_zeros75047366 (self: t_u8) : t_u32 = ctlz_u8 self - -let swap_bytes657156997 (self: t_u8) : t_u8 = - Core.Convert.f_into #t_u8 #t_u8 #FStar.Tactics.Typeclasses.solve (bswap_u8 self <: t_u8) - -let from_be746282521 (x: t_u8) : t_u8 = swap_bytes657156997 x - -let to_be972448780 (self: t_u8) : t_u8 = swap_bytes657156997 self - -let trailing_zeros572929871 (self: t_u8) : t_u32 = cttz_u8 self - -let count_ones91875752 (self: t_u16) : t_u32 = ctpop_u16 self - -let leading_zeros462412478 (self: t_u16) : t_u32 = ctlz_u16 self - -let swap_bytes926722059 (self: t_u16) : t_u16 = - Core.Convert.f_into #t_u16 #t_u16 #FStar.Tactics.Typeclasses.solve (bswap_u16 self <: t_u16) - -let from_be510959665 (x: t_u16) : t_u16 = swap_bytes926722059 x - -let to_be551590602 (self: t_u16) : t_u16 = swap_bytes926722059 self - -let trailing_zeros421474733 (self: t_u16) : t_u32 = cttz_u16 self - -let count_ones776185738 (self: t_u32) : t_u32 = ctpop_u32 self - -let leading_zeros698221972 (self: t_u32) : t_u32 = ctlz_u32 self - -let swap_bytes320480126 (self: t_u32) : t_u32 = - Core.Convert.f_into #t_u32 #t_u32 #FStar.Tactics.Typeclasses.solve (bswap_u32 self <: t_u32) - -let from_be664756649 (x: t_u32) : t_u32 = swap_bytes320480126 x - -let to_be82825962 (self: t_u32) : t_u32 = swap_bytes320480126 self - -let trailing_zeros1061560720 (self: t_u32) : t_u32 = cttz_u32 self - -let count_ones235885653 (self: t_u64) : t_u32 = ctpop_u64 self - -let leading_zeros338302110 (self: t_u64) : t_u32 = ctlz_u64 self - -let swap_bytes722254271 (self: t_u64) : t_u64 = - Core.Convert.f_into #t_u64 #t_u64 #FStar.Tactics.Typeclasses.solve (bswap_u64 self <: t_u64) - -let from_be16013635 (x: t_u64) : t_u64 = swap_bytes722254271 x - -let to_be376714729 (self: t_u64) : t_u64 = swap_bytes722254271 self - -let trailing_zeros188346231 (self: t_u64) : t_u32 = cttz_u64 self - -let count_ones926736261 (self: t_u128) : t_u32 = ctpop_u128 self - -let leading_zeros19644612 (self: t_u128) : t_u32 = ctlz_u128 self - -let swap_bytes420879368 (self: t_u128) : t_u128 = - Core.Convert.f_into #t_u128 #t_u128 #FStar.Tactics.Typeclasses.solve (bswap_u128 self <: t_u128) - -let from_be191085771 (x: t_u128) : t_u128 = swap_bytes420879368 x - -let to_be555075987 (self: t_u128) : t_u128 = swap_bytes420879368 self - -let trailing_zeros821715250 (self: t_u128) : t_u32 = cttz_u128 self - -let count_ones441645762 (self: t_usize) : t_u32 = ctpop_usize self - -let leading_zeros905233489 (self: t_usize) : t_u32 = ctlz_usize self - -let swap_bytes268673424 (self: t_usize) : t_usize = - Core.Convert.f_into #t_usize - #t_usize - #FStar.Tactics.Typeclasses.solve - (bswap_usize self <: t_usize) - -let from_be607978059 (x: t_usize) : t_usize = swap_bytes268673424 x - -let to_be561847134 (self: t_usize) : t_usize = swap_bytes268673424 self - -let trailing_zeros42066260 (self: t_usize) : t_u32 = cttz_usize self - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_48: Core.Ops.Arith.t_Div t_i8 t_i8 = - { - f_Output = t_i8; - f_div_pre = (fun (self: t_i8) (other: t_i8) -> true); - f_div_post = (fun (self: t_i8) (other: t_i8) (out: t_i8) -> true); - f_div = fun (self: t_i8) (other: t_i8) -> t_i8 (self._0 /! other._0) <: t_i8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_49: Core.Ops.Arith.t_Div t_i16 t_i16 = - { - f_Output = t_i16; - f_div_pre = (fun (self: t_i16) (other: t_i16) -> true); - f_div_post = (fun (self: t_i16) (other: t_i16) (out: t_i16) -> true); - f_div = fun (self: t_i16) (other: t_i16) -> t_i16 (self._0 /! other._0) <: t_i16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_50: Core.Ops.Arith.t_Div t_i32 t_i32 = - { - f_Output = t_i32; - f_div_pre = (fun (self: t_i32) (other: t_i32) -> true); - f_div_post = (fun (self: t_i32) (other: t_i32) (out: t_i32) -> true); - f_div = fun (self: t_i32) (other: t_i32) -> t_i32 (self._0 /! other._0) <: t_i32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_51: Core.Ops.Arith.t_Div t_i64 t_i64 = - { - f_Output = t_i64; - f_div_pre = (fun (self: t_i64) (other: t_i64) -> true); - f_div_post = (fun (self: t_i64) (other: t_i64) (out: t_i64) -> true); - f_div = fun (self: t_i64) (other: t_i64) -> t_i64 (self._0 /! other._0) <: t_i64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_52: Core.Ops.Arith.t_Div t_i128 t_i128 = - { - f_Output = t_i128; - f_div_pre = (fun (self: t_i128) (other: t_i128) -> true); - f_div_post = (fun (self: t_i128) (other: t_i128) (out: t_i128) -> true); - f_div = fun (self: t_i128) (other: t_i128) -> t_i128 (self._0 /! other._0) <: t_i128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_53: Core.Ops.Arith.t_Div t_isize t_isize = - { - f_Output = t_isize; - f_div_pre = (fun (self: t_isize) (other: t_isize) -> true); - f_div_post = (fun (self: t_isize) (other: t_isize) (out: t_isize) -> true); - f_div = fun (self: t_isize) (other: t_isize) -> t_isize (self._0 /! other._0) <: t_isize - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_60: Core.Ops.Arith.t_Rem t_i8 t_i8 = - { - f_Output = t_i8; - f_rem_pre = (fun (self: t_i8) (other: t_i8) -> true); - f_rem_post = (fun (self: t_i8) (other: t_i8) (out: t_i8) -> true); - f_rem = fun (self: t_i8) (other: t_i8) -> t_i8 (self._0 %! other._0) <: t_i8 - } - -let rem_euclid622298453 (self rhs: t_i8) : t_i8 = - let r:t_i8 = self %! (Core.Clone.f_clone #t_i8 #FStar.Tactics.Typeclasses.solve rhs <: t_i8) in - if r <. (Core.Convert.f_into #i8 #t_i8 #FStar.Tactics.Typeclasses.solve 0y <: t_i8) - then wrapping_add634491935 r (wrapping_abs400396545 rhs <: t_i8) - else r - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_61: Core.Ops.Arith.t_Rem t_i16 t_i16 = - { - f_Output = t_i16; - f_rem_pre = (fun (self: t_i16) (other: t_i16) -> true); - f_rem_post = (fun (self: t_i16) (other: t_i16) (out: t_i16) -> true); - f_rem = fun (self: t_i16) (other: t_i16) -> t_i16 (self._0 %! other._0) <: t_i16 - } - -let rem_euclid158017644 (self rhs: t_i16) : t_i16 = - let r:t_i16 = self %! (Core.Clone.f_clone #t_i16 #FStar.Tactics.Typeclasses.solve rhs <: t_i16) in - if r <. (Core.Convert.f_into #i16 #t_i16 #FStar.Tactics.Typeclasses.solve 0s <: t_i16) - then wrapping_add868559108 r (wrapping_abs229076826 rhs <: t_i16) - else r - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_62: Core.Ops.Arith.t_Rem t_i32 t_i32 = - { - f_Output = t_i32; - f_rem_pre = (fun (self: t_i32) (other: t_i32) -> true); - f_rem_post = (fun (self: t_i32) (other: t_i32) (out: t_i32) -> true); - f_rem = fun (self: t_i32) (other: t_i32) -> t_i32 (self._0 %! other._0) <: t_i32 - } - -let rem_euclid881249982 (self rhs: t_i32) : t_i32 = - let r:t_i32 = self %! (Core.Clone.f_clone #t_i32 #FStar.Tactics.Typeclasses.solve rhs <: t_i32) in - if r <. (Core.Convert.f_into #i32 #t_i32 #FStar.Tactics.Typeclasses.solve 0l <: t_i32) - then wrapping_add475006616 r (wrapping_abs729536875 rhs <: t_i32) - else r - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_63: Core.Ops.Arith.t_Rem t_i64 t_i64 = - { - f_Output = t_i64; - f_rem_pre = (fun (self: t_i64) (other: t_i64) -> true); - f_rem_post = (fun (self: t_i64) (other: t_i64) (out: t_i64) -> true); - f_rem = fun (self: t_i64) (other: t_i64) -> t_i64 (self._0 %! other._0) <: t_i64 - } - -let rem_euclid1057082210 (self rhs: t_i64) : t_i64 = - let r:t_i64 = self %! (Core.Clone.f_clone #t_i64 #FStar.Tactics.Typeclasses.solve rhs <: t_i64) in - if r <. (Core.Convert.f_into #i64 #t_i64 #FStar.Tactics.Typeclasses.solve 0L <: t_i64) - then wrapping_add590074241 r (wrapping_abs285829312 rhs <: t_i64) - else r - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_64: Core.Ops.Arith.t_Rem t_i128 t_i128 = - { - f_Output = t_i128; - f_rem_pre = (fun (self: t_i128) (other: t_i128) -> true); - f_rem_post = (fun (self: t_i128) (other: t_i128) (out: t_i128) -> true); - f_rem = fun (self: t_i128) (other: t_i128) -> t_i128 (self._0 %! other._0) <: t_i128 - } - -let rem_euclid254910751 (self rhs: t_i128) : t_i128 = - let r:t_i128 = - self %! (Core.Clone.f_clone #t_i128 #FStar.Tactics.Typeclasses.solve rhs <: t_i128) - in - if - r <. (Core.Convert.f_into #i128 #t_i128 #FStar.Tactics.Typeclasses.solve (pub_i128 0) <: t_i128) - then wrapping_add251385439 r (wrapping_abs281925696 rhs <: t_i128) - else r - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_65: Core.Ops.Arith.t_Rem t_isize t_isize = - { - f_Output = t_isize; - f_rem_pre = (fun (self: t_isize) (other: t_isize) -> true); - f_rem_post = (fun (self: t_isize) (other: t_isize) (out: t_isize) -> true); - f_rem = fun (self: t_isize) (other: t_isize) -> t_isize (self._0 %! other._0) <: t_isize - } - -let rem_euclid828379367 (self rhs: t_isize) : t_isize = - let r:t_isize = - self %! (Core.Clone.f_clone #t_isize #FStar.Tactics.Typeclasses.solve rhs <: t_isize) - in - if r <. (Core.Convert.f_into #isize #t_isize #FStar.Tactics.Typeclasses.solve (isz 0) <: t_isize) - then wrapping_add226040243 r (wrapping_abs347300819 rhs <: t_isize) - else r - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl: Core.Ops.Bit.t_Not t_u8 = - { - f_Output = t_u8; - f_not_pre = (fun (self: t_u8) -> true); - f_not_post = (fun (self: t_u8) (out: t_u8) -> true); - f_not = fun (self: t_u8) -> t_u8 ~.self._0 <: t_u8 - } - -let count_zeros558337492 (self: t_u8) : t_u32 = count_ones202509899 (~.self <: t_u8) - -let leading_ones55148479 (self: t_u8) : t_u32 = leading_zeros75047366 (~.self <: t_u8) - -let trailing_ones359778731 (self: t_u8) : t_u32 = trailing_zeros572929871 (~.self <: t_u8) - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_1: Core.Ops.Bit.t_Not t_u16 = - { - f_Output = t_u16; - f_not_pre = (fun (self: t_u16) -> true); - f_not_post = (fun (self: t_u16) (out: t_u16) -> true); - f_not = fun (self: t_u16) -> t_u16 ~.self._0 <: t_u16 - } - -let count_zeros199825317 (self: t_u16) : t_u32 = count_ones91875752 (~.self <: t_u16) - -let leading_ones164277656 (self: t_u16) : t_u32 = leading_zeros462412478 (~.self <: t_u16) - -let trailing_ones903944727 (self: t_u16) : t_u32 = trailing_zeros421474733 (~.self <: t_u16) - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_2: Core.Ops.Bit.t_Not t_u32 = - { - f_Output = t_u32; - f_not_pre = (fun (self: t_u32) -> true); - f_not_post = (fun (self: t_u32) (out: t_u32) -> true); - f_not = fun (self: t_u32) -> t_u32 ~.self._0 <: t_u32 - } - -let count_zeros942566041 (self: t_u32) : t_u32 = count_ones776185738 (~.self <: t_u32) - -let leading_ones766486760 (self: t_u32) : t_u32 = leading_zeros698221972 (~.self <: t_u32) - -let trailing_ones223371510 (self: t_u32) : t_u32 = trailing_zeros1061560720 (~.self <: t_u32) - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_3: Core.Ops.Bit.t_Not t_u64 = - { - f_Output = t_u64; - f_not_pre = (fun (self: t_u64) -> true); - f_not_post = (fun (self: t_u64) (out: t_u64) -> true); - f_not = fun (self: t_u64) -> t_u64 ~.self._0 <: t_u64 - } - -let count_zeros60346158 (self: t_u64) : t_u32 = count_ones235885653 (~.self <: t_u64) - -let leading_ones404666910 (self: t_u64) : t_u32 = leading_zeros338302110 (~.self <: t_u64) - -let trailing_ones601201120 (self: t_u64) : t_u32 = trailing_zeros188346231 (~.self <: t_u64) - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_4: Core.Ops.Bit.t_Not t_u128 = - { - f_Output = t_u128; - f_not_pre = (fun (self: t_u128) -> true); - f_not_post = (fun (self: t_u128) (out: t_u128) -> true); - f_not = fun (self: t_u128) -> t_u128 ~.self._0 <: t_u128 - } - -let count_zeros824862815 (self: t_u128) : t_u32 = count_ones926736261 (~.self <: t_u128) - -let leading_ones475503572 (self: t_u128) : t_u32 = leading_zeros19644612 (~.self <: t_u128) - -let trailing_ones705845381 (self: t_u128) : t_u32 = trailing_zeros821715250 (~.self <: t_u128) - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_5: Core.Ops.Bit.t_Not t_usize = - { - f_Output = t_usize; - f_not_pre = (fun (self: t_usize) -> true); - f_not_post = (fun (self: t_usize) (out: t_usize) -> true); - f_not = fun (self: t_usize) -> t_usize ~.self._0 <: t_usize - } - -let count_zeros73479642 (self: t_usize) : t_u32 = count_ones441645762 (~.self <: t_usize) - -let leading_ones667660708 (self: t_usize) : t_u32 = leading_zeros905233489 (~.self <: t_usize) - -let trailing_ones979548463 (self: t_usize) : t_u32 = trailing_zeros42066260 (~.self <: t_usize) diff --git a/proof-libs/fstar/generated-core/Core.Array.fst b/proof-libs/fstar/generated-core/Core.Array.fst deleted file mode 100644 index 7528c5612..000000000 --- a/proof-libs/fstar/generated-core/Core.Array.fst +++ /dev/null @@ -1,14 +0,0 @@ -module Core.Array -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -include Core.Array.Rec_bundle_579704328 {t_TryFromSliceError as t_TryFromSliceError} - -include Core.Array.Rec_bundle_579704328 {_0 as _0} - -include Core.Array.Rec_bundle_579704328 {impl_2 as impl_2} - -include Core.Array.Rec_bundle_579704328 {impl_1 as impl_1} - -include Core.Array.Rec_bundle_579704328 {impl as impl} diff --git a/proof-libs/fstar/generated-core/Core.Base.Binary.fst b/proof-libs/fstar/generated-core/Core.Base.Binary.fst deleted file mode 100644 index b2599d7bd..000000000 --- a/proof-libs/fstar/generated-core/Core.Base.Binary.fst +++ /dev/null @@ -1,168 +0,0 @@ -module Core.Base.Binary -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let rec positive_cmp__cmp_binary_cont - (x y: Core.Base.Spec.Binary.Positive.t_Positive) - (r: Core.Cmp.t_Ordering) - : Core.Cmp.t_Ordering = - match Core.Base.Spec.Binary.Positive.match_positive x with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - (match Core.Base.Spec.Binary.Positive.match_positive y with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> r - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - Core.Cmp.Ordering_Less <: Core.Cmp.t_Ordering) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - (match Core.Base.Spec.Binary.Positive.match_positive y with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Cmp.Ordering_Greater <: Core.Cmp.t_Ordering - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> positive_cmp__cmp_binary_cont p q r - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - positive_cmp__cmp_binary_cont p q (Core.Cmp.Ordering_Less <: Core.Cmp.t_Ordering)) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - match Core.Base.Spec.Binary.Positive.match_positive y with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Cmp.Ordering_Greater <: Core.Cmp.t_Ordering - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - positive_cmp__cmp_binary_cont p q (Core.Cmp.Ordering_Greater <: Core.Cmp.t_Ordering) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> positive_cmp__cmp_binary_cont p q r - -let positive_cmp (lhs rhs: Core.Base.Spec.Binary.Positive.t_Positive) : Core.Cmp.t_Ordering = - positive_cmp__cmp_binary_cont lhs rhs (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering) - -let positive_le (lhs rhs: Core.Base.Spec.Binary.Positive.t_Positive) : bool = - match - Core.Option.Option_Some (positive_cmp lhs rhs) <: Core.Option.t_Option Core.Cmp.t_Ordering - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false - -let rec positive_pred_double (s: Core.Base.Spec.Binary.Positive.t_Positive) - : Core.Base.Spec.Binary.Positive.t_Positive = - match Core.Base.Spec.Binary.Positive.match_positive s with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> Core.Base.Spec.Binary.Positive.xH - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - Core.Base.Spec.Binary.Positive.xI (positive_pred_double p - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - Core.Base.Spec.Binary.Positive.xI (Core.Base.Spec.Binary.Positive.xO p - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -let rec positive_succ (s: Core.Base.Spec.Binary.Positive.t_Positive) - : Core.Base.Spec.Binary.Positive.t_Positive = - match Core.Base.Spec.Binary.Positive.match_positive s with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Binary.Positive.xO Core.Base.Spec.Binary.Positive.xH - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> Core.Base.Spec.Binary.Positive.xI q - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - Core.Base.Spec.Binary.Positive.xO (positive_succ q <: Core.Base.Spec.Binary.Positive.t_Positive) - -let positive_add (lhs rhs: Core.Base.Spec.Binary.Positive.t_Positive) - : Core.Base.Spec.Binary.Positive.t_Positive = positive_add__add lhs rhs - -let rec positive_mul (lhs rhs: Core.Base.Spec.Binary.Positive.t_Positive) - : Core.Base.Spec.Binary.Positive.t_Positive = - match Core.Base.Spec.Binary.Positive.match_positive lhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> rhs - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - Core.Base.Spec.Binary.Positive.xO (positive_mul p rhs - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - positive_add (Core.Clone.f_clone #Core.Base.Spec.Binary.Positive.t_Positive - #FStar.Tactics.Typeclasses.solve - rhs - <: - Core.Base.Spec.Binary.Positive.t_Positive) - (Core.Base.Spec.Binary.Positive.xO (positive_mul p rhs - <: - Core.Base.Spec.Binary.Positive.t_Positive) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -let rec positive_add__add (lhs rhs: Core.Base.Spec.Binary.Positive.t_Positive) - : Core.Base.Spec.Binary.Positive.t_Positive = - match Core.Base.Spec.Binary.Positive.match_positive lhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - (match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Binary.Positive.xO Core.Base.Spec.Binary.Positive.xH - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> Core.Base.Spec.Binary.Positive.xI q - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - Core.Base.Spec.Binary.Positive.xO (positive_succ q - <: - Core.Base.Spec.Binary.Positive.t_Positive)) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - (match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> Core.Base.Spec.Binary.Positive.xI p - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - Core.Base.Spec.Binary.Positive.xO (positive_add__add p q - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - Core.Base.Spec.Binary.Positive.xI (positive_add__add p q - <: - Core.Base.Spec.Binary.Positive.t_Positive)) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Binary.Positive.xO (positive_succ p - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - Core.Base.Spec.Binary.Positive.xI (positive_add__add p q - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - Core.Base.Spec.Binary.Positive.xO (positive_add__add_carry p q - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -and positive_add__add_carry (lhs rhs: Core.Base.Spec.Binary.Positive.t_Positive) - : Core.Base.Spec.Binary.Positive.t_Positive = - match Core.Base.Spec.Binary.Positive.match_positive lhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - (match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Binary.Positive.xI Core.Base.Spec.Binary.Positive.xH - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - Core.Base.Spec.Binary.Positive.xO (positive_succ q - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - Core.Base.Spec.Binary.Positive.xI (positive_succ q - <: - Core.Base.Spec.Binary.Positive.t_Positive)) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - (match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Binary.Positive.xO (positive_succ p - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - Core.Base.Spec.Binary.Positive.xI (positive_add__add p q - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - Core.Base.Spec.Binary.Positive.xO (positive_add__add_carry p q - <: - Core.Base.Spec.Binary.Positive.t_Positive)) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Binary.Positive.xI (positive_succ p - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - Core.Base.Spec.Binary.Positive.xO (positive_add__add_carry p q - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - Core.Base.Spec.Binary.Positive.xI (positive_add__add_carry p q - <: - Core.Base.Spec.Binary.Positive.t_Positive) diff --git a/proof-libs/fstar/generated-core/Core.Base.Number_conversion.fst b/proof-libs/fstar/generated-core/Core.Base.Number_conversion.fst deleted file mode 100644 index 6b8427f68..000000000 --- a/proof-libs/fstar/generated-core/Core.Base.Number_conversion.fst +++ /dev/null @@ -1,76 +0,0 @@ -module Core.Base.Number_conversion -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -include Core.Array.Rec_bundle_579704328 {from_u128_binary as impl_24__from_u128_binary} - -include Core.Array.Rec_bundle_579704328 {impl_8 as impl_8} - -include Core.Array.Rec_bundle_579704328 {impl_20 as impl_20} - -include Core.Array.Rec_bundle_579704328 {from_u16_binary as impl_24__from_u16_binary} - -include Core.Array.Rec_bundle_579704328 {impl_2 as impl_2} - -include Core.Array.Rec_bundle_579704328 {impl_14 as impl_14} - -include Core.Array.Rec_bundle_579704328 {from_u32_binary as impl_24__from_u32_binary} - -include Core.Array.Rec_bundle_579704328 {impl_4 as impl_4} - -include Core.Array.Rec_bundle_579704328 {impl_16 as impl_16} - -include Core.Array.Rec_bundle_579704328 {from_u64_binary as impl_24__from_u64_binary} - -include Core.Array.Rec_bundle_579704328 {impl_6 as impl_6} - -include Core.Array.Rec_bundle_579704328 {impl_18 as impl_18} - -include Core.Array.Rec_bundle_579704328 {from_u8_binary as impl_24__from_u8_binary} - -include Core.Array.Rec_bundle_579704328 {impl as impl} - -include Core.Array.Rec_bundle_579704328 {impl_12 as impl_12} - -include Core.Array.Rec_bundle_579704328 {from_usize_binary as impl_24__from_usize_binary} - -include Core.Array.Rec_bundle_579704328 {impl_10 as impl_10} - -include Core.Array.Rec_bundle_579704328 {impl_22 as impl_22} - -include Core.Array.Rec_bundle_579704328 {to_u128_binary as impl_24__to_u128_binary} - -include Core.Array.Rec_bundle_579704328 {impl_9 as impl_9} - -include Core.Array.Rec_bundle_579704328 {impl_21 as impl_21} - -include Core.Array.Rec_bundle_579704328 {to_u16_binary as impl_24__to_u16_binary} - -include Core.Array.Rec_bundle_579704328 {impl_3 as impl_3} - -include Core.Array.Rec_bundle_579704328 {impl_15 as impl_15} - -include Core.Array.Rec_bundle_579704328 {to_u32_binary as impl_24__to_u32_binary} - -include Core.Array.Rec_bundle_579704328 {impl_5 as impl_5} - -include Core.Array.Rec_bundle_579704328 {impl_17 as impl_17} - -include Core.Array.Rec_bundle_579704328 {to_u64_binary as impl_24__to_u64_binary} - -include Core.Array.Rec_bundle_579704328 {impl_7 as impl_7} - -include Core.Array.Rec_bundle_579704328 {impl_19 as impl_19} - -include Core.Array.Rec_bundle_579704328 {to_u8_binary as impl_24__to_u8_binary} - -include Core.Array.Rec_bundle_579704328 {impl_1 as impl_1} - -include Core.Array.Rec_bundle_579704328 {impl_13 as impl_13} - -include Core.Array.Rec_bundle_579704328 {to_usize_binary as impl_24__to_usize_binary} - -include Core.Array.Rec_bundle_579704328 {impl_11 as impl_11} - -include Core.Array.Rec_bundle_579704328 {impl_23 as impl_23} diff --git a/proof-libs/fstar/generated-core/Core.Base.Pos.fst b/proof-libs/fstar/generated-core/Core.Base.Pos.fst deleted file mode 100644 index 267337919..000000000 --- a/proof-libs/fstar/generated-core/Core.Base.Pos.fst +++ /dev/null @@ -1,447 +0,0 @@ -module Core.Base.Pos -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let haxint_double (s: Core.Base.Spec.Haxint.t_HaxInt) : Core.Base.Spec.Haxint.t_HaxInt = - match Core.Base.Spec.Binary.Pos.match_pos s with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> Core.Base.Spec.Haxint.v_HaxInt_ZERO - | Core.Base.Spec.Binary.Pos.POS_POS p -> - Core.Base.Spec.Binary.Positive.positive_to_int (Core.Base.Spec.Binary.Positive.xO p - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -let haxint_shr__half (s: Core.Base.Spec.Haxint.t_HaxInt) : Core.Base.Spec.Haxint.t_HaxInt = - match Core.Base.Spec.Binary.Pos.match_pos s with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> Core.Base.Spec.Haxint.v_HaxInt_ZERO - | Core.Base.Spec.Binary.Pos.POS_POS n -> - match Core.Base.Spec.Binary.Positive.match_positive n with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> Core.Base.Spec.Haxint.v_HaxInt_ZERO - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - Core.Base.Spec.Binary.Positive.positive_to_int p - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - Core.Base.Spec.Binary.Positive.positive_to_int p - -let haxint_sub__double_mask (lhs: Core.Base.Spec.Haxint.t_HaxInt) : Core.Base.Spec.Haxint.t_HaxInt = - match Core.Base.Spec.Binary.Pos.match_pos lhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> Core.Base.Spec.Haxint.v_HaxInt_ZERO - | Core.Base.Spec.Binary.Pos.POS_POS p -> - Core.Base.Spec.Binary.Positive.positive_to_int (Core.Base.Spec.Binary.Positive.xO p - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -let haxint_sub__succ_double_mask (lhs: Core.Base.Spec.Haxint.t_HaxInt) - : Core.Base.Spec.Haxint.t_HaxInt = - match Core.Base.Spec.Binary.Pos.match_pos lhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> - Core.Base.Spec.Binary.Positive.positive_to_int Core.Base.Spec.Binary.Positive.xH - | Core.Base.Spec.Binary.Pos.POS_POS p -> - Core.Base.Spec.Binary.Positive.positive_to_int (Core.Base.Spec.Binary.Positive.xI p - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -let haxint_succ_double (s: Core.Base.Spec.Haxint.t_HaxInt) - : Core.Base.Spec.Binary.Positive.t_Positive = - match Core.Base.Spec.Binary.Pos.match_pos s with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> Core.Base.Spec.Binary.Positive.xH - | Core.Base.Spec.Binary.Pos.POS_POS p -> Core.Base.Spec.Binary.Positive.xI p - -let rec bitand_binary (lhs rhs: Core.Base.Spec.Binary.Positive.t_Positive) - : Core.Base.Spec.Haxint.t_HaxInt = - match Core.Base.Spec.Binary.Positive.match_positive lhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - (match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> Core.Base.Spec.Haxint.v_HaxInt_ZERO - | Core.Base.Spec.Binary.Positive.POSITIVE_XI _ - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> Core.Base.Spec.Haxint.v_HaxInt_ONE) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - (match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> Core.Base.Spec.Haxint.v_HaxInt_ZERO - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - haxint_double (bitand_binary p q <: Core.Base.Spec.Haxint.t_HaxInt)) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> Core.Base.Spec.Haxint.v_HaxInt_ONE - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - haxint_double (bitand_binary p q <: Core.Base.Spec.Haxint.t_HaxInt) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - Core.Base.Spec.Binary.Positive.positive_to_int (haxint_succ_double (bitand_binary p q - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -let rec bitor_binary (lhs rhs: Core.Base.Spec.Binary.Positive.t_Positive) - : Core.Base.Spec.Binary.Positive.t_Positive = - match Core.Base.Spec.Binary.Positive.match_positive lhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - (match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> Core.Base.Spec.Binary.Positive.xI q - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> Core.Base.Spec.Binary.Positive.xH - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> Core.Base.Spec.Binary.Positive.xI q) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - (match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> Core.Base.Spec.Binary.Positive.xI p - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - Core.Base.Spec.Binary.Positive.xO (bitor_binary p q - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - Core.Base.Spec.Binary.Positive.xI (bitor_binary p q - <: - Core.Base.Spec.Binary.Positive.t_Positive)) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> Core.Base.Spec.Binary.Positive.xI p - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - Core.Base.Spec.Binary.Positive.xI (bitor_binary p q - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -let haxint_bitand (lhs rhs: Core.Base.Spec.Haxint.t_HaxInt) : Core.Base.Spec.Haxint.t_HaxInt = - match Core.Base.Spec.Binary.Pos.match_pos lhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> Core.Base.Spec.Haxint.v_HaxInt_ZERO - | Core.Base.Spec.Binary.Pos.POS_POS p -> - match Core.Base.Spec.Binary.Pos.match_pos rhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> Core.Base.Spec.Haxint.v_HaxInt_ZERO - | Core.Base.Spec.Binary.Pos.POS_POS q -> bitand_binary p q - -let haxint_bitor (lhs rhs: Core.Base.Spec.Haxint.t_HaxInt) : Core.Base.Spec.Haxint.t_HaxInt = - match Core.Base.Spec.Binary.Pos.match_pos lhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> rhs - | Core.Base.Spec.Binary.Pos.POS_POS p -> - match Core.Base.Spec.Binary.Pos.match_pos rhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> Core.Base.Spec.Binary.Positive.positive_to_int p - | Core.Base.Spec.Binary.Pos.POS_POS q -> - Core.Base.Spec.Binary.Positive.positive_to_int (bitor_binary p q - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -let rec haxint_bitxor__bitxor_binary (lhs rhs: Core.Base.Spec.Binary.Positive.t_Positive) - : Core.Base.Spec.Haxint.t_HaxInt = - match Core.Base.Spec.Binary.Positive.match_positive lhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - (match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> Core.Base.Spec.Haxint.v_HaxInt_ZERO - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - Core.Base.Spec.Binary.Positive.positive_to_int (Core.Base.Spec.Binary.Positive.xI q - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - Core.Base.Spec.Binary.Positive.positive_to_int (Core.Base.Spec.Binary.Positive.xO q - <: - Core.Base.Spec.Binary.Positive.t_Positive)) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - (match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Binary.Positive.positive_to_int (Core.Base.Spec.Binary.Positive.xI p - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - haxint_double (haxint_bitxor__bitxor_binary p q <: Core.Base.Spec.Haxint.t_HaxInt) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - Core.Base.Spec.Binary.Positive.positive_to_int (haxint_succ_double (haxint_bitxor__bitxor_binary - p - q - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Binary.Positive.t_Positive)) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Binary.Positive.positive_to_int (Core.Base.Spec.Binary.Positive.xO p - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - Core.Base.Spec.Binary.Positive.positive_to_int (haxint_succ_double (haxint_bitxor__bitxor_binary - p - q - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - haxint_double (haxint_bitxor__bitxor_binary p q <: Core.Base.Spec.Haxint.t_HaxInt) - -let haxint_bitxor (lhs rhs: Core.Base.Spec.Haxint.t_HaxInt) : Core.Base.Spec.Haxint.t_HaxInt = - match Core.Base.Spec.Binary.Pos.match_pos lhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> rhs - | Core.Base.Spec.Binary.Pos.POS_POS p -> - match Core.Base.Spec.Binary.Pos.match_pos rhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> Core.Base.Spec.Binary.Positive.positive_to_int p - | Core.Base.Spec.Binary.Pos.POS_POS q -> haxint_bitxor__bitxor_binary p q - -let haxint_cmp (lhs rhs: Core.Base.Spec.Haxint.t_HaxInt) : Core.Cmp.t_Ordering = - match Core.Base.Spec.Binary.Pos.match_pos lhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> - (match Core.Base.Spec.Binary.Pos.match_pos rhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering - | Core.Base.Spec.Binary.Pos.POS_POS q -> Core.Cmp.Ordering_Less <: Core.Cmp.t_Ordering) - | Core.Base.Spec.Binary.Pos.POS_POS p -> - match Core.Base.Spec.Binary.Pos.match_pos rhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> Core.Cmp.Ordering_Greater <: Core.Cmp.t_Ordering - | Core.Base.Spec.Binary.Pos.POS_POS q -> Core.Base.Binary.positive_cmp p q - -let haxint_le (lhs rhs: Core.Base.Spec.Haxint.t_HaxInt) : bool = - match - Core.Option.Option_Some (haxint_cmp lhs rhs) <: Core.Option.t_Option Core.Cmp.t_Ordering - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false - -let haxint_lt (lhs rhs: Core.Base.Spec.Haxint.t_HaxInt) : bool = - match - Core.Option.Option_Some (haxint_cmp lhs rhs) <: Core.Option.t_Option Core.Cmp.t_Ordering - with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) -> true - | _ -> false - -let rec haxint_shl__shl_helper (rhs: Core.Base.Spec.Unary.t_Unary) (lhs: Core.Base.Spec.Haxint.t_HaxInt) - : Core.Base.Spec.Haxint.t_HaxInt = - if - Core.Base.Spec.Haxint.is_zero (Core.Clone.f_clone #Core.Base.Spec.Haxint.t_HaxInt - #FStar.Tactics.Typeclasses.solve - lhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - then lhs - else - match Core.Base.Spec.Unary.match_unary rhs with - | Core.Base.Spec.Unary.UNARY_ZERO -> lhs - | Core.Base.Spec.Unary.UNARY_SUCC n -> - haxint_shl__shl_helper n (haxint_double lhs <: Core.Base.Spec.Haxint.t_HaxInt) - -let haxint_shl (lhs rhs: Core.Base.Spec.Haxint.t_HaxInt) : Core.Base.Spec.Haxint.t_HaxInt = - haxint_shl__shl_helper (Core.Base.Spec.Unary.unary_from_int rhs <: Core.Base.Spec.Unary.t_Unary) - lhs - -let rec haxint_shr__shr_helper (rhs: Core.Base.Spec.Unary.t_Unary) (lhs: Core.Base.Spec.Haxint.t_HaxInt) - : Core.Base.Spec.Haxint.t_HaxInt = - if - Core.Base.Spec.Haxint.is_zero (Core.Clone.f_clone #Core.Base.Spec.Haxint.t_HaxInt - #FStar.Tactics.Typeclasses.solve - lhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - then lhs - else - match Core.Base.Spec.Unary.match_unary rhs with - | Core.Base.Spec.Unary.UNARY_ZERO -> lhs - | Core.Base.Spec.Unary.UNARY_SUCC n -> - haxint_shr__shr_helper n (haxint_shr__half lhs <: Core.Base.Spec.Haxint.t_HaxInt) - -let haxint_shr (lhs rhs: Core.Base.Spec.Haxint.t_HaxInt) : Core.Base.Spec.Haxint.t_HaxInt = - haxint_shr__shr_helper (Core.Base.Spec.Unary.unary_from_int rhs <: Core.Base.Spec.Unary.t_Unary) - lhs - -let haxint_sub__double_pred_mask (lhs: Core.Base.Spec.Binary.Positive.t_Positive) - : Core.Base.Spec.Haxint.t_HaxInt = - match Core.Base.Spec.Binary.Positive.match_positive lhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> Core.Base.Spec.Haxint.v_HaxInt_ZERO - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - Core.Base.Spec.Binary.Positive.positive_to_int (Core.Base.Spec.Binary.Positive.xO (Core.Base.Binary.positive_pred_double - p - <: - Core.Base.Spec.Binary.Positive.t_Positive) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - Core.Base.Spec.Binary.Positive.positive_to_int (Core.Base.Spec.Binary.Positive.xO (Core.Base.Spec.Binary.Positive.xO - p - <: - Core.Base.Spec.Binary.Positive.t_Positive) - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -let rec power_of_two (s: Core.Base.Spec.Unary.t_Unary) : Core.Base.Spec.Binary.Positive.t_Positive = - match Core.Base.Spec.Unary.match_unary s with - | Core.Base.Spec.Unary.UNARY_ZERO -> Core.Base.Spec.Binary.Positive.xH - | Core.Base.Spec.Unary.UNARY_SUCC x -> - Core.Base.Spec.Binary.Positive.xO (power_of_two x <: Core.Base.Spec.Binary.Positive.t_Positive) - -let haxint_add (lhs rhs: Core.Base.Spec.Haxint.t_HaxInt) : Core.Base.Spec.Haxint.t_HaxInt = - match Core.Base.Spec.Binary.Pos.match_pos lhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> rhs - | Core.Base.Spec.Binary.Pos.POS_POS p -> - match Core.Base.Spec.Binary.Pos.match_pos rhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> Core.Base.Spec.Binary.Positive.positive_to_int p - | Core.Base.Spec.Binary.Pos.POS_POS q -> - Core.Base.Spec.Binary.Positive.positive_to_int (Core.Base.Binary.positive_add p q - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -let haxint_sub (lhs rhs: Core.Base.Spec.Haxint.t_HaxInt) : Core.Base.Spec.Haxint.t_HaxInt = - match Core.Base.Spec.Binary.Pos.match_pos lhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> Core.Base.Spec.Haxint.v_HaxInt_ZERO - | Core.Base.Spec.Binary.Pos.POS_POS p -> - match Core.Base.Spec.Binary.Pos.match_pos rhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> Core.Base.Spec.Binary.Positive.positive_to_int p - | Core.Base.Spec.Binary.Pos.POS_POS q -> haxint_sub__sub_binary p q - -let rec haxint_divmod__divmod_binary (a b: Core.Base.Spec.Binary.Positive.t_Positive) - : (Core.Base.Spec.Haxint.t_HaxInt & Core.Base.Spec.Haxint.t_HaxInt) = - match Core.Base.Spec.Binary.Positive.match_positive a with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - (match Core.Base.Spec.Binary.Positive.match_positive b with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Haxint.v_HaxInt_ONE, Core.Base.Spec.Haxint.v_HaxInt_ZERO - <: - (Core.Base.Spec.Haxint.t_HaxInt & Core.Base.Spec.Haxint.t_HaxInt) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - Core.Base.Spec.Haxint.v_HaxInt_ZERO, Core.Base.Spec.Haxint.v_HaxInt_ONE - <: - (Core.Base.Spec.Haxint.t_HaxInt & Core.Base.Spec.Haxint.t_HaxInt)) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO a___ -> - let q, r:(Core.Base.Spec.Haxint.t_HaxInt & Core.Base.Spec.Haxint.t_HaxInt) = - haxint_divmod__divmod_binary a___ - (Core.Clone.f_clone #Core.Base.Spec.Binary.Positive.t_Positive - #FStar.Tactics.Typeclasses.solve - b - <: - Core.Base.Spec.Binary.Positive.t_Positive) - in - let r___:Core.Base.Spec.Haxint.t_HaxInt = haxint_double r in - if - haxint_le (Core.Base.Spec.Binary.Positive.positive_to_int (Core.Clone.f_clone #Core.Base.Spec.Binary.Positive.t_Positive - #FStar.Tactics.Typeclasses.solve - b - <: - Core.Base.Spec.Binary.Positive.t_Positive) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Clone.f_clone #Core.Base.Spec.Haxint.t_HaxInt #FStar.Tactics.Typeclasses.solve r___ - <: - Core.Base.Spec.Haxint.t_HaxInt) - then - Core.Base.Spec.Binary.Positive.positive_to_int (haxint_succ_double q - <: - Core.Base.Spec.Binary.Positive.t_Positive), - haxint_sub r___ - (Core.Base.Spec.Binary.Positive.positive_to_int b <: Core.Base.Spec.Haxint.t_HaxInt) - <: - (Core.Base.Spec.Haxint.t_HaxInt & Core.Base.Spec.Haxint.t_HaxInt) - else haxint_double q, r___ <: (Core.Base.Spec.Haxint.t_HaxInt & Core.Base.Spec.Haxint.t_HaxInt) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI a___ -> - let q, r:(Core.Base.Spec.Haxint.t_HaxInt & Core.Base.Spec.Haxint.t_HaxInt) = - haxint_divmod__divmod_binary a___ - (Core.Clone.f_clone #Core.Base.Spec.Binary.Positive.t_Positive - #FStar.Tactics.Typeclasses.solve - b - <: - Core.Base.Spec.Binary.Positive.t_Positive) - in - let r___:Core.Base.Spec.Haxint.t_HaxInt = - Core.Base.Spec.Binary.Positive.positive_to_int (haxint_succ_double r - <: - Core.Base.Spec.Binary.Positive.t_Positive) - in - if - haxint_le (Core.Base.Spec.Binary.Positive.positive_to_int (Core.Clone.f_clone #Core.Base.Spec.Binary.Positive.t_Positive - #FStar.Tactics.Typeclasses.solve - b - <: - Core.Base.Spec.Binary.Positive.t_Positive) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Clone.f_clone #Core.Base.Spec.Haxint.t_HaxInt #FStar.Tactics.Typeclasses.solve r___ - <: - Core.Base.Spec.Haxint.t_HaxInt) - then - Core.Base.Spec.Binary.Positive.positive_to_int (haxint_succ_double q - <: - Core.Base.Spec.Binary.Positive.t_Positive), - haxint_sub r___ - (Core.Base.Spec.Binary.Positive.positive_to_int b <: Core.Base.Spec.Haxint.t_HaxInt) - <: - (Core.Base.Spec.Haxint.t_HaxInt & Core.Base.Spec.Haxint.t_HaxInt) - else haxint_double q, r___ <: (Core.Base.Spec.Haxint.t_HaxInt & Core.Base.Spec.Haxint.t_HaxInt) - -let haxint_divmod (a b: Core.Base.Spec.Haxint.t_HaxInt) - : (Core.Base.Spec.Haxint.t_HaxInt & Core.Base.Spec.Haxint.t_HaxInt) = - match Core.Base.Spec.Binary.Pos.match_pos a with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> - Core.Base.Spec.Haxint.v_HaxInt_ZERO, Core.Base.Spec.Haxint.v_HaxInt_ZERO - <: - (Core.Base.Spec.Haxint.t_HaxInt & Core.Base.Spec.Haxint.t_HaxInt) - | Core.Base.Spec.Binary.Pos.POS_POS p -> - match Core.Base.Spec.Binary.Pos.match_pos b with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> - Core.Base.Spec.Haxint.v_HaxInt_ZERO, Core.Base.Spec.Binary.Positive.positive_to_int p - <: - (Core.Base.Spec.Haxint.t_HaxInt & Core.Base.Spec.Haxint.t_HaxInt) - | Core.Base.Spec.Binary.Pos.POS_POS q -> haxint_divmod__divmod_binary p q - -let haxint_div (lhs rhs: Core.Base.Spec.Haxint.t_HaxInt) : Core.Base.Spec.Haxint.t_HaxInt = - let q, _:(Core.Base.Spec.Haxint.t_HaxInt & Core.Base.Spec.Haxint.t_HaxInt) = - haxint_divmod lhs rhs - in - q - -let haxint_mul (lhs rhs: Core.Base.Spec.Haxint.t_HaxInt) : Core.Base.Spec.Haxint.t_HaxInt = - match Core.Base.Spec.Binary.Pos.match_pos lhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> Core.Base.Spec.Haxint.v_HaxInt_ZERO - | Core.Base.Spec.Binary.Pos.POS_POS p -> - match Core.Base.Spec.Binary.Pos.match_pos rhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> Core.Base.Spec.Haxint.v_HaxInt_ZERO - | Core.Base.Spec.Binary.Pos.POS_POS q -> - Core.Base.Spec.Binary.Positive.positive_to_int (Core.Base.Binary.positive_mul p q - <: - Core.Base.Spec.Binary.Positive.t_Positive) - -let haxint_rem (lhs rhs: Core.Base.Spec.Haxint.t_HaxInt) : Core.Base.Spec.Haxint.t_HaxInt = - let _, r:(Core.Base.Spec.Haxint.t_HaxInt & Core.Base.Spec.Haxint.t_HaxInt) = - haxint_divmod lhs rhs - in - r - -let rec haxint_sub__sub_binary (lhs rhs: Core.Base.Spec.Binary.Positive.t_Positive) - : Core.Base.Spec.Haxint.t_HaxInt = - match Core.Base.Spec.Binary.Positive.match_positive lhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> Core.Base.Spec.Haxint.v_HaxInt_ZERO - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - (match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Binary.Positive.positive_to_int (Core.Base.Binary.positive_pred_double p - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - haxint_sub__double_mask (haxint_sub__sub_binary p q <: Core.Base.Spec.Haxint.t_HaxInt) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - haxint_sub__succ_double_mask (haxint_sub__sub_carry p q <: Core.Base.Spec.Haxint.t_HaxInt)) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Binary.Positive.positive_to_int (Core.Base.Spec.Binary.Positive.xO p - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - haxint_sub__succ_double_mask (haxint_sub__sub_binary p q <: Core.Base.Spec.Haxint.t_HaxInt) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - haxint_sub__double_mask (haxint_sub__sub_binary p q <: Core.Base.Spec.Haxint.t_HaxInt) - -and haxint_sub__sub_carry (lhs rhs: Core.Base.Spec.Binary.Positive.t_Positive) - : Core.Base.Spec.Haxint.t_HaxInt = - match Core.Base.Spec.Binary.Positive.match_positive lhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> Core.Base.Spec.Haxint.v_HaxInt_ZERO - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - (match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> haxint_sub__double_pred_mask p - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - haxint_sub__succ_double_mask (haxint_sub__sub_carry p q <: Core.Base.Spec.Haxint.t_HaxInt) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - haxint_sub__double_mask (haxint_sub__sub_carry p q <: Core.Base.Spec.Haxint.t_HaxInt)) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Binary.Positive.positive_to_int (Core.Base.Binary.positive_pred_double p - <: - Core.Base.Spec.Binary.Positive.t_Positive) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - haxint_sub__double_mask (haxint_sub__sub_binary p q <: Core.Base.Spec.Haxint.t_HaxInt) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - haxint_sub__succ_double_mask (haxint_sub__sub_carry p q <: Core.Base.Spec.Haxint.t_HaxInt) diff --git a/proof-libs/fstar/generated-core/Core.Base.Seq.fst b/proof-libs/fstar/generated-core/Core.Base.Seq.fst deleted file mode 100644 index 0b6d938eb..000000000 --- a/proof-libs/fstar/generated-core/Core.Base.Seq.fst +++ /dev/null @@ -1,221 +0,0 @@ -module Core.Base.Seq -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let hd__panic_cold_explicit (_: Prims.unit) : Rust_primitives.Hax.t_Never = - Core.Panicking.panic_explicit () - -let set_index__set_index_unary__panic_cold_explicit (_: Prims.unit) : Rust_primitives.Hax.t_Never = - Core.Panicking.panic_explicit () - -let is_empty - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (s: Core.Base.Spec.Seq.t_Seq v_T) - : bool = - match Core.Base.Spec.Seq.match_list #v_T s with - | Core.Base.Spec.Seq.LIST_NIL -> true - | Core.Base.Spec.Seq.LIST_CONS _ _ -> false - -let hd - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (s: Core.Base.Spec.Seq.t_Seq v_T) - : Prims.Pure v_T (requires ~.(is_empty #v_T s <: bool)) (fun _ -> Prims.l_True) = - match Core.Base.Spec.Seq.match_list #v_T s with - | Core.Base.Spec.Seq.LIST_NIL -> - Rust_primitives.Hax.never_to_any (hd__panic_cold_explicit () <: Rust_primitives.Hax.t_Never) - | Core.Base.Spec.Seq.LIST_CONS hd _ -> hd - -let tl - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (s: Core.Base.Spec.Seq.t_Seq v_T) - : Prims.Pure (Core.Base.Spec.Seq.t_Seq v_T) - (requires ~.(is_empty #v_T s <: bool)) - (fun _ -> Prims.l_True) = - match Core.Base.Spec.Seq.match_list #v_T s with - | Core.Base.Spec.Seq.LIST_NIL -> Core.Base.Spec.Seq.nil #v_T () - | Core.Base.Spec.Seq.LIST_CONS _ tl -> tl - -let rec eq_inner - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i2: Core.Cmp.t_PartialEq v_T v_T) - (s other: Core.Base.Spec.Seq.t_Seq v_T) - : bool = - match - Core.Base.Spec.Seq.match_list #v_T - (Core.Clone.f_clone #(Core.Base.Spec.Seq.t_Seq v_T) #FStar.Tactics.Typeclasses.solve s - <: - Core.Base.Spec.Seq.t_Seq v_T) - with - | Core.Base.Spec.Seq.LIST_NIL -> - is_empty #v_T - (Core.Clone.f_clone #(Core.Base.Spec.Seq.t_Seq v_T) #FStar.Tactics.Typeclasses.solve other - <: - Core.Base.Spec.Seq.t_Seq v_T) - | Core.Base.Spec.Seq.LIST_CONS x xs -> - match - Core.Base.Spec.Seq.match_list #v_T - (Core.Clone.f_clone #(Core.Base.Spec.Seq.t_Seq v_T) #FStar.Tactics.Typeclasses.solve other - <: - Core.Base.Spec.Seq.t_Seq v_T) - with - | Core.Base.Spec.Seq.LIST_NIL -> false - | Core.Base.Spec.Seq.LIST_CONS y ys -> x =. y && eq_inner #v_T xs ys - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i2: Core.Cmp.t_PartialEq v_T v_T) - : Core.Cmp.t_PartialEq (Core.Base.Spec.Seq.t_Seq v_T) (Core.Base.Spec.Seq.t_Seq v_T) = - { - f_eq_pre - = - (fun (self: Core.Base.Spec.Seq.t_Seq v_T) (other: Core.Base.Spec.Seq.t_Seq v_T) -> true); - f_eq_post - = - (fun (self: Core.Base.Spec.Seq.t_Seq v_T) (other: Core.Base.Spec.Seq.t_Seq v_T) (out: bool) -> - true); - f_eq - = - (fun (self: Core.Base.Spec.Seq.t_Seq v_T) (other: Core.Base.Spec.Seq.t_Seq v_T) -> - eq_inner #v_T - (Core.Clone.f_clone #(Core.Base.Spec.Seq.t_Seq v_T) #FStar.Tactics.Typeclasses.solve self - <: - Core.Base.Spec.Seq.t_Seq v_T) - (Core.Clone.f_clone #(Core.Base.Spec.Seq.t_Seq v_T) #FStar.Tactics.Typeclasses.solve other - <: - Core.Base.Spec.Seq.t_Seq v_T)); - f_ne_pre - = - (fun (self: Core.Base.Spec.Seq.t_Seq v_T) (other: Core.Base.Spec.Seq.t_Seq v_T) -> true); - f_ne_post - = - (fun (self: Core.Base.Spec.Seq.t_Seq v_T) (other: Core.Base.Spec.Seq.t_Seq v_T) (out: bool) -> - true); - f_ne - = - fun (self: Core.Base.Spec.Seq.t_Seq v_T) (other: Core.Base.Spec.Seq.t_Seq v_T) -> - ~.(eq_inner #v_T - (Core.Clone.f_clone #(Core.Base.Spec.Seq.t_Seq v_T) #FStar.Tactics.Typeclasses.solve self - <: - Core.Base.Spec.Seq.t_Seq v_T) - (Core.Clone.f_clone #(Core.Base.Spec.Seq.t_Seq v_T) #FStar.Tactics.Typeclasses.solve other - <: - Core.Base.Spec.Seq.t_Seq v_T) - <: - bool) - } - -let rec get_index__get_index_unary - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (l: Core.Base.Spec.Seq.t_Seq v_T) - (i: Core.Base.Spec.Unary.t_Unary) - : v_T = - match Core.Base.Spec.Unary.match_unary i with - | Core.Base.Spec.Unary.UNARY_ZERO -> hd #v_T l - | Core.Base.Spec.Unary.UNARY_SUCC n -> - get_index__get_index_unary #v_T (tl #v_T l <: Core.Base.Spec.Seq.t_Seq v_T) n - -let get_index - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (s: Core.Base.Spec.Seq.t_Seq v_T) - (i: Core.Base.Spec.Haxint.t_HaxInt) - : v_T = - get_index__get_index_unary #v_T - s - (Core.Base.Spec.Unary.unary_from_int i <: Core.Base.Spec.Unary.t_Unary) - -let rec len - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (s: Core.Base.Spec.Seq.t_Seq v_T) - : Core.Base.Spec.Haxint.t_HaxInt = - match Core.Base.Spec.Seq.match_list #v_T s with - | Core.Base.Spec.Seq.LIST_NIL -> Core.Base.Spec.Haxint.v_HaxInt_ZERO - | Core.Base.Spec.Seq.LIST_CONS _ tl -> - Core.Base.Spec.Haxint.succ (len #v_T tl <: Core.Base.Spec.Haxint.t_HaxInt) - -let rec repeat__repeat_unary - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (n: Core.Base.Spec.Unary.t_Unary) - (v: v_T) - : Core.Base.Spec.Seq.t_Seq v_T = - match Core.Base.Spec.Unary.match_unary n with - | Core.Base.Spec.Unary.UNARY_ZERO -> Core.Base.Spec.Seq.nil #v_T () - | Core.Base.Spec.Unary.UNARY_SUCC m -> - Core.Base.Spec.Seq.cons #v_T - (repeat__repeat_unary #v_T - m - (Core.Clone.f_clone #v_T #FStar.Tactics.Typeclasses.solve v <: v_T) - <: - Core.Base.Spec.Seq.t_Seq v_T) - v - -let repeat - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (n: Core.Base.Spec.Haxint.t_HaxInt) - (v: v_T) - : Core.Base.Spec.Seq.t_Seq v_T = - repeat__repeat_unary #v_T - (Core.Base.Spec.Unary.unary_from_int n <: Core.Base.Spec.Unary.t_Unary) - v - -let rec rev__rev_accum - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (s accum: Core.Base.Spec.Seq.t_Seq v_T) - : Core.Base.Spec.Seq.t_Seq v_T = - match Core.Base.Spec.Seq.match_list #v_T s with - | Core.Base.Spec.Seq.LIST_NIL -> accum - | Core.Base.Spec.Seq.LIST_CONS hd tl -> - rev__rev_accum #v_T tl (Core.Base.Spec.Seq.cons #v_T accum hd <: Core.Base.Spec.Seq.t_Seq v_T) - -let rev - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (s: Core.Base.Spec.Seq.t_Seq v_T) - : Core.Base.Spec.Seq.t_Seq v_T = - rev__rev_accum #v_T s (Core.Base.Spec.Seq.nil #v_T () <: Core.Base.Spec.Seq.t_Seq v_T) - -let rec set_index__set_index_unary - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (x: Core.Base.Spec.Seq.t_Seq v_T) - (i: Core.Base.Spec.Unary.t_Unary) - (v: v_T) - : Core.Base.Spec.Seq.t_Seq v_T = - match Core.Base.Spec.Seq.match_list #v_T x with - | Core.Base.Spec.Seq.LIST_NIL -> - Rust_primitives.Hax.never_to_any (set_index__set_index_unary__panic_cold_explicit () - <: - Rust_primitives.Hax.t_Never) - | Core.Base.Spec.Seq.LIST_CONS hd tl -> - match Core.Base.Spec.Unary.match_unary i with - | Core.Base.Spec.Unary.UNARY_ZERO -> Core.Base.Spec.Seq.cons #v_T tl v - | Core.Base.Spec.Unary.UNARY_SUCC n -> - Core.Base.Spec.Seq.cons #v_T - (set_index__set_index_unary #v_T tl n v <: Core.Base.Spec.Seq.t_Seq v_T) - hd - -let set_index - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (s: Core.Base.Spec.Seq.t_Seq v_T) - (i: Core.Base.Spec.Haxint.t_HaxInt) - (v: v_T) - : Prims.Pure (Core.Base.Spec.Seq.t_Seq v_T) - (requires Core.Base.Pos.haxint_lt i (len #v_T s <: Core.Base.Spec.Haxint.t_HaxInt)) - (fun _ -> Prims.l_True) = - set_index__set_index_unary #v_T - s - (Core.Base.Spec.Unary.unary_from_int i <: Core.Base.Spec.Unary.t_Unary) - v diff --git a/proof-libs/fstar/generated-core/Core.Base.Spec.Binary.Pos.fst b/proof-libs/fstar/generated-core/Core.Base.Spec.Binary.Pos.fst deleted file mode 100644 index 11e9e7ee6..000000000 --- a/proof-libs/fstar/generated-core/Core.Base.Spec.Binary.Pos.fst +++ /dev/null @@ -1,18 +0,0 @@ -module Core.Base.Spec.Binary.Pos -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -type t_POS = - | POS_ZERO : t_POS - | POS_POS : Core.Base.Spec.Binary.Positive.t_Positive -> t_POS - -let match_pos (s: Core.Base.Spec.Haxint.t_HaxInt) : t_POS = - if - Core.Base.Spec.Haxint.is_zero (Core.Clone.f_clone #Core.Base.Spec.Haxint.t_HaxInt - #FStar.Tactics.Typeclasses.solve - s - <: - Core.Base.Spec.Haxint.t_HaxInt) - then POS_ZERO <: t_POS - else POS_POS (Core.Base.Spec.Binary.Positive.positive_from_int s) <: t_POS diff --git a/proof-libs/fstar/generated-core/Core.Base.Spec.Binary.Positive.fst b/proof-libs/fstar/generated-core/Core.Base.Spec.Binary.Positive.fst deleted file mode 100644 index 7bb9bd61f..000000000 --- a/proof-libs/fstar/generated-core/Core.Base.Spec.Binary.Positive.fst +++ /dev/null @@ -1,127 +0,0 @@ -module Core.Base.Spec.Binary.Positive -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -type t_Positive = | Positive : Core.Base.Spec.Haxint.t_HaxInt -> t_Positive - -type t_POSITIVE = - | POSITIVE_XH : t_POSITIVE - | POSITIVE_XO : t_Positive -> t_POSITIVE - | POSITIVE_XI : t_Positive -> t_POSITIVE - -let positive_from_int (x: Core.Base.Spec.Haxint.t_HaxInt) : t_Positive = Positive x <: t_Positive - -let positive_to_int (s: t_Positive) : Core.Base.Spec.Haxint.t_HaxInt = s._0 - -let xH: t_Positive = Positive Core.Base.Spec.Haxint.v_HaxInt_ONE <: t_Positive - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl: Core.Clone.t_Clone t_Positive = - { - f_clone_pre = (fun (self: t_Positive) -> true); - f_clone_post = (fun (self: t_Positive) (out: t_Positive) -> true); - f_clone - = - fun (self: t_Positive) -> - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 0) - (let list = ["not yet implemented: specification needed"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (Core.Fmt.Rt.impl_1__none () <: t_Array Core.Fmt.Rt.t_Argument (sz 0)) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) - } - -let match_positive__is_xH (s: t_Positive) : bool = - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 0) - (let list = ["not yet implemented: specification needed"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (Core.Fmt.Rt.impl_1__none () <: t_Array Core.Fmt.Rt.t_Argument (sz 0)) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) - -let match_positive__is_xI (s: t_Positive) : bool = - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 0) - (let list = ["not yet implemented: specification needed"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (Core.Fmt.Rt.impl_1__none () <: t_Array Core.Fmt.Rt.t_Argument (sz 0)) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) - -let match_positive__is_xO (s: t_Positive) : bool = - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 0) - (let list = ["not yet implemented: specification needed"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (Core.Fmt.Rt.impl_1__none () <: t_Array Core.Fmt.Rt.t_Argument (sz 0)) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) - -let xI (s: t_Positive) : t_Positive = - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 0) - (let list = ["not yet implemented: specification needed"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (Core.Fmt.Rt.impl_1__none () <: t_Array Core.Fmt.Rt.t_Argument (sz 0)) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) - -let xO (s: t_Positive) : t_Positive = - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 0) - (let list = ["not yet implemented: specification needed"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (Core.Fmt.Rt.impl_1__none () <: t_Array Core.Fmt.Rt.t_Argument (sz 0)) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) - -let match_positive (s: t_Positive) : t_POSITIVE = - if - match_positive__is_xH (Core.Clone.f_clone #t_Positive #FStar.Tactics.Typeclasses.solve s - <: - t_Positive) - then POSITIVE_XH <: t_POSITIVE - else - if - match_positive__is_xO (Core.Clone.f_clone #t_Positive #FStar.Tactics.Typeclasses.solve s - <: - t_Positive) - then - POSITIVE_XO - (positive_from_int (Core.Base.Spec.Haxint.div2 (positive_to_int s - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt)) - <: - t_POSITIVE - else - POSITIVE_XI - (positive_from_int (Core.Base.Spec.Haxint.div2 (positive_to_int s - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt)) - <: - t_POSITIVE diff --git a/proof-libs/fstar/generated-core/Core.Base.Spec.Constants.fst b/proof-libs/fstar/generated-core/Core.Base.Spec.Constants.fst deleted file mode 100644 index acd066282..000000000 --- a/proof-libs/fstar/generated-core/Core.Base.Spec.Constants.fst +++ /dev/null @@ -1,283 +0,0 @@ -module Core.Base.Spec.Constants -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let v_BITS_128_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [128uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt - -let v_BITS_16_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [16uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt - -let v_BITS_32_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [32uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt - -let v_BITS_64_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [64uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt - -let v_BITS_8_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [8uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt - -let v_WORDSIZE_128_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = - [0uy; 0uy; 0uy; 0uy; 0uy; 0uy; 0uy; 0uy; 0uy; 0uy; 0uy; 0uy; 0uy; 0uy; 0uy; 0uy; 1uy] - in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 17); - Rust_primitives.Hax.array_of_list 17 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt - -let v_WORDSIZE_128_SUB_1_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = - [ - 255uy; 255uy; 255uy; 255uy; 255uy; 255uy; 255uy; 255uy; 255uy; 255uy; 255uy; 255uy; - 255uy; 255uy; 255uy; 255uy - ] - in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 16); - Rust_primitives.Hax.array_of_list 16 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt - -let v_WORDSIZE_16_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [0uy; 0uy; 1uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 3); - Rust_primitives.Hax.array_of_list 3 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt - -let v_WORDSIZE_16_SUB_1_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [255uy; 255uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 2); - Rust_primitives.Hax.array_of_list 2 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt - -let v_WORDSIZE_32_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [0uy; 0uy; 0uy; 0uy; 1uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 5); - Rust_primitives.Hax.array_of_list 5 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt - -let v_WORDSIZE_32_SUB_1_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [255uy; 255uy; 255uy; 255uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 4); - Rust_primitives.Hax.array_of_list 4 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt - -let v_WORDSIZE_4_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [128uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt - -let v_WORDSIZE_4_SUB_1_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [127uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt - -let v_WORDSIZE_64_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [0uy; 0uy; 0uy; 0uy; 0uy; 0uy; 0uy; 0uy; 1uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 9); - Rust_primitives.Hax.array_of_list 9 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt - -let v_WORDSIZE_64_SUB_1_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [255uy; 255uy; 255uy; 255uy; 255uy; 255uy; 255uy; 255uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 8); - Rust_primitives.Hax.array_of_list 8 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt - -let v_WORDSIZE_8_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [0uy; 1uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 2); - Rust_primitives.Hax.array_of_list 2 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt - -let v_WORDSIZE_8_SUB_1_: Core.Base.Spec.Haxint.t_HaxInt = - { - Core.Base.Spec.Haxint.f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [255uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - Core.Base.Spec.Haxint.t_HaxInt diff --git a/proof-libs/fstar/generated-core/Core.Base.Spec.Haxint.fst b/proof-libs/fstar/generated-core/Core.Base.Spec.Haxint.fst deleted file mode 100644 index 905782d89..000000000 --- a/proof-libs/fstar/generated-core/Core.Base.Spec.Haxint.fst +++ /dev/null @@ -1,98 +0,0 @@ -module Core.Base.Spec.Haxint -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -type t_HaxInt = { f_v:Alloc.Borrow.t_Cow (t_Slice u8) } - -let v_HaxInt_ONE: t_HaxInt = - { - f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [1uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - t_HaxInt - -let v_HaxInt_TWO: t_HaxInt = - { - f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list = [2uy] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - t_HaxInt - -let v_HaxInt_ZERO: t_HaxInt = - { - f_v - = - Alloc.Borrow.Cow_Borrowed - ((let list:Prims.list u8 = [] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 0); - Rust_primitives.Hax.array_of_list 0 list) - <: - t_Slice u8) - <: - Alloc.Borrow.t_Cow (t_Slice u8) - } - <: - t_HaxInt - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl: Core.Clone.t_Clone t_HaxInt = - { - f_clone_pre = (fun (self: t_HaxInt) -> true); - f_clone_post = (fun (self: t_HaxInt) (out: t_HaxInt) -> true); - f_clone - = - fun (self: t_HaxInt) -> - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 0) - (let list = ["not yet implemented: specification needed"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (Core.Fmt.Rt.impl_1__none () <: t_Array Core.Fmt.Rt.t_Argument (sz 0)) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) - } - -let div2 (s: t_HaxInt) : t_HaxInt = - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 0) - (let list = ["not yet implemented: specification needed"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (Core.Fmt.Rt.impl_1__none () <: t_Array Core.Fmt.Rt.t_Argument (sz 0)) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) - -let is_zero (s: t_HaxInt) : bool = - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 0) - (let list = ["not yet implemented: specification needed"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (Core.Fmt.Rt.impl_1__none () <: t_Array Core.Fmt.Rt.t_Argument (sz 0)) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) diff --git a/proof-libs/fstar/generated-core/Core.Base.Spec.Seq.fst b/proof-libs/fstar/generated-core/Core.Base.Spec.Seq.fst deleted file mode 100644 index 0912d71d0..000000000 --- a/proof-libs/fstar/generated-core/Core.Base.Spec.Seq.fst +++ /dev/null @@ -1,22 +0,0 @@ -module Core.Base.Spec.Seq -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -include Core.Array.Rec_bundle_579704328 {t_Seq as t_Seq} - -include Core.Array.Rec_bundle_579704328 {f_v as f_v} - -include Core.Array.Rec_bundle_579704328 {impl as impl} - -include Core.Array.Rec_bundle_579704328 {t_LIST as t_LIST} - -include Core.Array.Rec_bundle_579704328 {LIST_NIL as LIST_NIL} - -include Core.Array.Rec_bundle_579704328 {LIST_CONS as LIST_CONS} - -include Core.Array.Rec_bundle_579704328 {nil as nil} - -include Core.Array.Rec_bundle_579704328 {cons as cons} - -include Core.Array.Rec_bundle_579704328 {match_list as match_list} diff --git a/proof-libs/fstar/generated-core/Core.Base.Spec.Unary.fst b/proof-libs/fstar/generated-core/Core.Base.Spec.Unary.fst deleted file mode 100644 index 9bae9d16a..000000000 --- a/proof-libs/fstar/generated-core/Core.Base.Spec.Unary.fst +++ /dev/null @@ -1,70 +0,0 @@ -module Core.Base.Spec.Unary -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -type t_Unary = | Unary : Core.Base.Spec.Haxint.t_HaxInt -> t_Unary - -type t_UNARY = - | UNARY_ZERO : t_UNARY - | UNARY_SUCC : t_Unary -> t_UNARY - -let unary_from_int (x: Core.Base.Spec.Haxint.t_HaxInt) : t_Unary = Unary x <: t_Unary - -let unary_to_int (s: t_Unary) : Core.Base.Spec.Haxint.t_HaxInt = s._0 - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl: Core.Clone.t_Clone t_Unary = - { - f_clone_pre = (fun (self: t_Unary) -> true); - f_clone_post = (fun (self: t_Unary) (out: t_Unary) -> true); - f_clone - = - fun (self: t_Unary) -> - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 0) - (let list = ["not yet implemented: specification needed"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (Core.Fmt.Rt.impl_1__none () <: t_Array Core.Fmt.Rt.t_Argument (sz 0)) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) - } - -let pred (x: t_Unary) : t_Unary = - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 0) - (let list = ["not yet implemented: specification needed"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (Core.Fmt.Rt.impl_1__none () <: t_Array Core.Fmt.Rt.t_Argument (sz 0)) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) - -let match_unary (s: t_Unary) : t_UNARY = - if - Core.Base.Spec.Haxint.is_zero (unary_to_int (Core.Clone.f_clone #t_Unary - #FStar.Tactics.Typeclasses.solve - s - <: - t_Unary) - <: - Core.Base.Spec.Haxint.t_HaxInt) - then UNARY_ZERO <: t_UNARY - else UNARY_SUCC (pred s) <: t_UNARY - -let succ (x: t_Unary) : t_Unary = - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 0) - (let list = ["not yet implemented: specification needed"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (Core.Fmt.Rt.impl_1__none () <: t_Array Core.Fmt.Rt.t_Argument (sz 0)) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) diff --git a/proof-libs/fstar/generated-core/Core.Base.Spec.Z.fst b/proof-libs/fstar/generated-core/Core.Base.Spec.Z.fst deleted file mode 100644 index c7c717bdf..000000000 --- a/proof-libs/fstar/generated-core/Core.Base.Spec.Z.fst +++ /dev/null @@ -1,19 +0,0 @@ -module Core.Base.Spec.Z -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -type t_Z = - | Z_NEG : Core.Base.Spec.Binary.Positive.t_Positive -> t_Z - | Z_ZERO : t_Z - | Z_POS : Core.Base.Spec.Binary.Positive.t_Positive -> t_Z - -let v_Z_ONE: t_Z = Z_POS Core.Base.Spec.Binary.Positive.xH <: t_Z - -let v_Z_TWO: t_Z = - Z_POS - (Core.Base.Spec.Binary.Positive.Positive Core.Base.Spec.Haxint.v_HaxInt_TWO - <: - Core.Base.Spec.Binary.Positive.t_Positive) - <: - t_Z diff --git a/proof-libs/fstar/generated-core/Core.Base.Z.fst b/proof-libs/fstar/generated-core/Core.Base.Z.fst deleted file mode 100644 index f8acae7a7..000000000 --- a/proof-libs/fstar/generated-core/Core.Base.Z.fst +++ /dev/null @@ -1,400 +0,0 @@ -module Core.Base.Z -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let z_neg (x: Core.Base.Spec.Z.t_Z) : Core.Base.Spec.Z.t_Z = - match x with - | Core.Base.Spec.Z.Z_NEG p -> Core.Base.Spec.Z.Z_POS p <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_ZERO -> Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_POS p -> Core.Base.Spec.Z.Z_NEG p <: Core.Base.Spec.Z.t_Z - -let z_bitor__n_succ (x: Core.Base.Spec.Binary.Pos.t_POS) : Core.Base.Spec.Binary.Positive.t_Positive = - match x with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> Core.Base.Spec.Binary.Positive.xH - | Core.Base.Spec.Binary.Pos.POS_POS p -> - Core.Base.Spec.Binary.Positive.positive_from_int (Core.Base.Spec.Haxint.succ (Core.Base.Spec.Binary.Positive.positive_to_int - p - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - -let z_add__z_double (s: Core.Base.Spec.Z.t_Z) : Core.Base.Spec.Z.t_Z = - match s with - | Core.Base.Spec.Z.Z_ZERO -> Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_POS p -> - Core.Base.Spec.Z.Z_POS (Core.Base.Spec.Binary.Positive.xO p) <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_NEG p -> - Core.Base.Spec.Z.Z_NEG (Core.Base.Spec.Binary.Positive.xO p) <: Core.Base.Spec.Z.t_Z - -let z_bitor__haxint_ldiff__n_double (x: Core.Base.Spec.Binary.Pos.t_POS) - : Core.Base.Spec.Binary.Pos.t_POS = - match x with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> - Core.Base.Spec.Binary.Pos.POS_ZERO <: Core.Base.Spec.Binary.Pos.t_POS - | Core.Base.Spec.Binary.Pos.POS_POS p -> - Core.Base.Spec.Binary.Pos.POS_POS (Core.Base.Spec.Binary.Positive.xO p) - <: - Core.Base.Spec.Binary.Pos.t_POS - -let z_bitor__haxint_ldiff__n_succ_double (x: Core.Base.Spec.Binary.Pos.t_POS) - : Core.Base.Spec.Binary.Pos.t_POS = - match x with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> - Core.Base.Spec.Binary.Pos.POS_POS Core.Base.Spec.Binary.Positive.xH - <: - Core.Base.Spec.Binary.Pos.t_POS - | Core.Base.Spec.Binary.Pos.POS_POS p -> - Core.Base.Spec.Binary.Pos.POS_POS (Core.Base.Spec.Binary.Positive.xI p) - <: - Core.Base.Spec.Binary.Pos.t_POS - -let z_add__z_pred_double (s: Core.Base.Spec.Z.t_Z) : Core.Base.Spec.Z.t_Z = - match s with - | Core.Base.Spec.Z.Z_ZERO -> - Core.Base.Spec.Z.Z_NEG Core.Base.Spec.Binary.Positive.xH <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_POS p -> - Core.Base.Spec.Z.Z_POS (Core.Base.Binary.positive_pred_double p) <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_NEG p -> - Core.Base.Spec.Z.Z_NEG (Core.Base.Spec.Binary.Positive.xI p) <: Core.Base.Spec.Z.t_Z - -let z_add__z_succ_double (s: Core.Base.Spec.Z.t_Z) : Core.Base.Spec.Z.t_Z = - match s with - | Core.Base.Spec.Z.Z_ZERO -> - Core.Base.Spec.Z.Z_POS Core.Base.Spec.Binary.Positive.xH <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_POS p -> - Core.Base.Spec.Z.Z_POS (Core.Base.Spec.Binary.Positive.xI p) <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_NEG p -> - Core.Base.Spec.Z.Z_NEG (Core.Base.Binary.positive_pred_double p) <: Core.Base.Spec.Z.t_Z - -let rec z_bitor__haxint_ldiff__positive_ldiff (lhs rhs: Core.Base.Spec.Binary.Positive.t_Positive) - : Core.Base.Spec.Binary.Pos.t_POS = - match Core.Base.Spec.Binary.Positive.match_positive lhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - (match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Binary.Pos.POS_ZERO <: Core.Base.Spec.Binary.Pos.t_POS - | Core.Base.Spec.Binary.Positive.POSITIVE_XO _ -> - Core.Base.Spec.Binary.Pos.POS_POS Core.Base.Spec.Binary.Positive.xH - <: - Core.Base.Spec.Binary.Pos.t_POS - | Core.Base.Spec.Binary.Positive.POSITIVE_XI _ -> - Core.Base.Spec.Binary.Pos.POS_ZERO <: Core.Base.Spec.Binary.Pos.t_POS) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - (match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Binary.Pos.POS_POS (Core.Base.Spec.Binary.Positive.xO p) - <: - Core.Base.Spec.Binary.Pos.t_POS - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - z_bitor__haxint_ldiff__n_double (z_bitor__haxint_ldiff__positive_ldiff p q - <: - Core.Base.Spec.Binary.Pos.t_POS) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - z_bitor__haxint_ldiff__n_double (z_bitor__haxint_ldiff__positive_ldiff p q - <: - Core.Base.Spec.Binary.Pos.t_POS)) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - match Core.Base.Spec.Binary.Positive.match_positive rhs with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Binary.Pos.POS_POS (Core.Base.Spec.Binary.Positive.xO p) - <: - Core.Base.Spec.Binary.Pos.t_POS - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - z_bitor__haxint_ldiff__n_succ_double (z_bitor__haxint_ldiff__positive_ldiff p q - <: - Core.Base.Spec.Binary.Pos.t_POS) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - z_bitor__haxint_ldiff__n_double (z_bitor__haxint_ldiff__positive_ldiff p q - <: - Core.Base.Spec.Binary.Pos.t_POS) - -let z_bitor__haxint_ldiff (lhs rhs: Core.Base.Spec.Binary.Pos.t_POS) - : Core.Base.Spec.Binary.Pos.t_POS = - match lhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> - Core.Base.Spec.Binary.Pos.POS_ZERO <: Core.Base.Spec.Binary.Pos.t_POS - | Core.Base.Spec.Binary.Pos.POS_POS p -> - match rhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> - Core.Base.Spec.Binary.Pos.POS_POS p <: Core.Base.Spec.Binary.Pos.t_POS - | Core.Base.Spec.Binary.Pos.POS_POS q -> z_bitor__haxint_ldiff__positive_ldiff p q - -let z_bitor__n_and (lhs rhs: Core.Base.Spec.Binary.Pos.t_POS) : Core.Base.Spec.Binary.Pos.t_POS = - match lhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> - Core.Base.Spec.Binary.Pos.POS_ZERO <: Core.Base.Spec.Binary.Pos.t_POS - | Core.Base.Spec.Binary.Pos.POS_POS p -> - match rhs with - | Core.Base.Spec.Binary.Pos.POS_ZERO -> - Core.Base.Spec.Binary.Pos.POS_ZERO <: Core.Base.Spec.Binary.Pos.t_POS - | Core.Base.Spec.Binary.Pos.POS_POS q -> - Core.Base.Spec.Binary.Pos.POS_POS - (Core.Base.Spec.Binary.Positive.positive_from_int (Core.Base.Pos.bitand_binary p q - <: - Core.Base.Spec.Haxint.t_HaxInt)) - <: - Core.Base.Spec.Binary.Pos.t_POS - -let z_bitor__positive_pred_N (x: Core.Base.Spec.Binary.Positive.t_Positive) - : Core.Base.Spec.Binary.Pos.t_POS = - match Core.Base.Spec.Binary.Positive.match_positive x with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Binary.Pos.POS_ZERO <: Core.Base.Spec.Binary.Pos.t_POS - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - Core.Base.Spec.Binary.Pos.POS_POS (Core.Base.Spec.Binary.Positive.xO p) - <: - Core.Base.Spec.Binary.Pos.t_POS - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - Core.Base.Spec.Binary.Pos.POS_POS (Core.Base.Binary.positive_pred_double p) - <: - Core.Base.Spec.Binary.Pos.t_POS - -let z_bitor (lhs rhs: Core.Base.Spec.Z.t_Z) : Core.Base.Spec.Z.t_Z = - match lhs with - | Core.Base.Spec.Z.Z_ZERO -> rhs - | Core.Base.Spec.Z.Z_POS x -> - (match rhs with - | Core.Base.Spec.Z.Z_ZERO -> Core.Base.Spec.Z.Z_POS x <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_POS y -> - Core.Base.Spec.Z.Z_POS (Core.Base.Pos.bitor_binary x y) <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_NEG y -> - Core.Base.Spec.Z.Z_NEG - (z_bitor__n_succ (z_bitor__haxint_ldiff (z_bitor__positive_pred_N y - <: - Core.Base.Spec.Binary.Pos.t_POS) - (Core.Base.Spec.Binary.Pos.POS_POS x <: Core.Base.Spec.Binary.Pos.t_POS) - <: - Core.Base.Spec.Binary.Pos.t_POS)) - <: - Core.Base.Spec.Z.t_Z) - | Core.Base.Spec.Z.Z_NEG x -> - match rhs with - | Core.Base.Spec.Z.Z_ZERO -> Core.Base.Spec.Z.Z_NEG x <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_POS y -> - Core.Base.Spec.Z.Z_NEG - (z_bitor__n_succ (z_bitor__haxint_ldiff (z_bitor__positive_pred_N x - <: - Core.Base.Spec.Binary.Pos.t_POS) - (Core.Base.Spec.Binary.Pos.POS_POS y <: Core.Base.Spec.Binary.Pos.t_POS) - <: - Core.Base.Spec.Binary.Pos.t_POS)) - <: - Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_NEG y -> - Core.Base.Spec.Z.Z_NEG - (z_bitor__n_succ (z_bitor__n_and (z_bitor__positive_pred_N x - <: - Core.Base.Spec.Binary.Pos.t_POS) - (z_bitor__positive_pred_N y <: Core.Base.Spec.Binary.Pos.t_POS) - <: - Core.Base.Spec.Binary.Pos.t_POS)) - <: - Core.Base.Spec.Z.t_Z - -let z_cmp (lhs rhs: Core.Base.Spec.Z.t_Z) : Core.Cmp.t_Ordering = - match lhs with - | Core.Base.Spec.Z.Z_NEG p -> - (match rhs with - | Core.Base.Spec.Z.Z_NEG q -> - (match Core.Base.Binary.positive_cmp p q with - | Core.Cmp.Ordering_Equal -> Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering - | Core.Cmp.Ordering_Less -> Core.Cmp.Ordering_Greater <: Core.Cmp.t_Ordering - | Core.Cmp.Ordering_Greater -> Core.Cmp.Ordering_Less <: Core.Cmp.t_Ordering) - | _ -> Core.Cmp.Ordering_Less <: Core.Cmp.t_Ordering) - | Core.Base.Spec.Z.Z_ZERO -> - (match rhs with - | Core.Base.Spec.Z.Z_ZERO -> Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering - | Core.Base.Spec.Z.Z_POS _ -> Core.Cmp.Ordering_Less <: Core.Cmp.t_Ordering - | Core.Base.Spec.Z.Z_NEG _ -> Core.Cmp.Ordering_Greater <: Core.Cmp.t_Ordering) - | Core.Base.Spec.Z.Z_POS p -> - match rhs with - | Core.Base.Spec.Z.Z_POS q -> Core.Base.Binary.positive_cmp p q - | _ -> Core.Cmp.Ordering_Greater <: Core.Cmp.t_Ordering - -let z_le (lhs rhs: Core.Base.Spec.Z.t_Z) : bool = - match Core.Option.Option_Some (z_cmp lhs rhs) <: Core.Option.t_Option Core.Cmp.t_Ordering with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) - | Core.Option.Option_Some (Core.Cmp.Ordering_Equal ) -> true - | _ -> false - -let z_lt (lhs rhs: Core.Base.Spec.Z.t_Z) : bool = - match Core.Option.Option_Some (z_cmp lhs rhs) <: Core.Option.t_Option Core.Cmp.t_Ordering with - | Core.Option.Option_Some (Core.Cmp.Ordering_Less ) -> true - | _ -> false - -let rec z_add__pos_z_sub (x y: Core.Base.Spec.Binary.Positive.t_Positive) : Core.Base.Spec.Z.t_Z = - match Core.Base.Spec.Binary.Positive.match_positive x with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - (match Core.Base.Spec.Binary.Positive.match_positive y with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - Core.Base.Spec.Z.Z_NEG (Core.Base.Binary.positive_pred_double q) <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - Core.Base.Spec.Z.Z_NEG (Core.Base.Spec.Binary.Positive.xO q) <: Core.Base.Spec.Z.t_Z) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - (match Core.Base.Spec.Binary.Positive.match_positive y with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Z.Z_POS (Core.Base.Binary.positive_pred_double p) <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - z_add__z_double (z_add__pos_z_sub p q <: Core.Base.Spec.Z.t_Z) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - z_add__z_pred_double (z_add__pos_z_sub p q <: Core.Base.Spec.Z.t_Z)) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - match Core.Base.Spec.Binary.Positive.match_positive y with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - Core.Base.Spec.Z.Z_POS (Core.Base.Spec.Binary.Positive.xO p) <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Binary.Positive.POSITIVE_XO q -> - z_add__z_succ_double (z_add__pos_z_sub p q <: Core.Base.Spec.Z.t_Z) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI q -> - z_add__z_double (z_add__pos_z_sub p q <: Core.Base.Spec.Z.t_Z) - -let z_add (lhs rhs: Core.Base.Spec.Z.t_Z) : Core.Base.Spec.Z.t_Z = - match lhs with - | Core.Base.Spec.Z.Z_NEG p -> - (match rhs with - | Core.Base.Spec.Z.Z_NEG q -> - Core.Base.Spec.Z.Z_NEG (Core.Base.Binary.positive_add p q) <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_ZERO -> Core.Base.Spec.Z.Z_NEG p <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_POS q -> z_add__pos_z_sub q p) - | Core.Base.Spec.Z.Z_ZERO -> rhs - | Core.Base.Spec.Z.Z_POS p -> - match rhs with - | Core.Base.Spec.Z.Z_NEG q -> z_add__pos_z_sub p q - | Core.Base.Spec.Z.Z_ZERO -> Core.Base.Spec.Z.Z_POS p <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_POS q -> - Core.Base.Spec.Z.Z_POS (Core.Base.Binary.positive_add p q) <: Core.Base.Spec.Z.t_Z - -let z_sub (lhs rhs: Core.Base.Spec.Z.t_Z) : Core.Base.Spec.Z.t_Z = - z_add lhs (z_neg rhs <: Core.Base.Spec.Z.t_Z) - -let z_mul (lhs rhs: Core.Base.Spec.Z.t_Z) : Core.Base.Spec.Z.t_Z = - match lhs with - | Core.Base.Spec.Z.Z_NEG p -> - (match rhs with - | Core.Base.Spec.Z.Z_NEG q -> - Core.Base.Spec.Z.Z_POS (Core.Base.Binary.positive_mul p q) <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_ZERO -> Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_POS q -> - Core.Base.Spec.Z.Z_NEG (Core.Base.Binary.positive_mul p q) <: Core.Base.Spec.Z.t_Z) - | Core.Base.Spec.Z.Z_ZERO -> Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_POS p -> - match rhs with - | Core.Base.Spec.Z.Z_NEG q -> - Core.Base.Spec.Z.Z_NEG (Core.Base.Binary.positive_mul p q) <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_ZERO -> Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z - | Core.Base.Spec.Z.Z_POS q -> - Core.Base.Spec.Z.Z_POS (Core.Base.Binary.positive_mul p q) <: Core.Base.Spec.Z.t_Z - -let rec pos_div_eucl (a: Core.Base.Spec.Binary.Positive.t_Positive) (b: Core.Base.Spec.Z.t_Z) - : (Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) = - match Core.Base.Spec.Binary.Positive.match_positive a with - | Core.Base.Spec.Binary.Positive.POSITIVE_XH -> - if - z_le Core.Base.Spec.Z.v_Z_TWO - (Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve b - <: - Core.Base.Spec.Z.t_Z) - then - (Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z), Core.Base.Spec.Z.v_Z_ONE - <: - (Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) - else - Core.Base.Spec.Z.v_Z_ONE, (Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z) - <: - (Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) - | Core.Base.Spec.Binary.Positive.POSITIVE_XO p -> - let q, r:(Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) = - pos_div_eucl p - (Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve b - <: - Core.Base.Spec.Z.t_Z) - in - let r___:Core.Base.Spec.Z.t_Z = z_mul Core.Base.Spec.Z.v_Z_TWO r in - if - z_lt (Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve r___ - <: - Core.Base.Spec.Z.t_Z) - (Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve b - <: - Core.Base.Spec.Z.t_Z) - then z_mul Core.Base.Spec.Z.v_Z_TWO q, r___ <: (Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) - else - z_add (z_mul Core.Base.Spec.Z.v_Z_TWO q <: Core.Base.Spec.Z.t_Z) Core.Base.Spec.Z.v_Z_ONE, - z_sub r___ b - <: - (Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) - | Core.Base.Spec.Binary.Positive.POSITIVE_XI p -> - let q, r:(Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) = - pos_div_eucl p - (Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve b - <: - Core.Base.Spec.Z.t_Z) - in - let r___:Core.Base.Spec.Z.t_Z = - z_add (z_mul Core.Base.Spec.Z.v_Z_TWO r <: Core.Base.Spec.Z.t_Z) Core.Base.Spec.Z.v_Z_ONE - in - if - z_lt (Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve r___ - <: - Core.Base.Spec.Z.t_Z) - (Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve b - <: - Core.Base.Spec.Z.t_Z) - then z_mul Core.Base.Spec.Z.v_Z_TWO q, r___ <: (Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) - else - z_add (z_mul Core.Base.Spec.Z.v_Z_TWO q <: Core.Base.Spec.Z.t_Z) Core.Base.Spec.Z.v_Z_ONE, - z_sub r___ b - <: - (Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) - -let z_divmod (a b: Core.Base.Spec.Z.t_Z) : (Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) = - match a with - | Core.Base.Spec.Z.Z_ZERO -> - (Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z), - (Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z) - <: - (Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) - | Core.Base.Spec.Z.Z_POS a___ -> - (match Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve b with - | Core.Base.Spec.Z.Z_ZERO -> - (Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z), - (Core.Base.Spec.Z.Z_POS a___ <: Core.Base.Spec.Z.t_Z) - <: - (Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) - | Core.Base.Spec.Z.Z_POS b___ -> pos_div_eucl a___ b - | Core.Base.Spec.Z.Z_NEG b___ -> - let q, r:(Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) = - pos_div_eucl a___ (Core.Base.Spec.Z.Z_POS b___ <: Core.Base.Spec.Z.t_Z) - in - z_neg q, r <: (Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z)) - | Core.Base.Spec.Z.Z_NEG a___ -> - match Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve b with - | Core.Base.Spec.Z.Z_ZERO -> - (Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z), - (Core.Base.Spec.Z.Z_NEG a___ <: Core.Base.Spec.Z.t_Z) - <: - (Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) - | Core.Base.Spec.Z.Z_POS _ -> - let q, r:(Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) = - pos_div_eucl a___ - (Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve b - <: - Core.Base.Spec.Z.t_Z) - in - z_neg q, z_neg r <: (Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) - | Core.Base.Spec.Z.Z_NEG b___ -> - let q, r:(Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) = - pos_div_eucl a___ (Core.Base.Spec.Z.Z_POS b___ <: Core.Base.Spec.Z.t_Z) - in - q, z_neg r <: (Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) - -let z_div (lhs rhs: Core.Base.Spec.Z.t_Z) : Core.Base.Spec.Z.t_Z = - let q, _:(Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) = z_divmod lhs rhs in - q - -let z_rem (lhs rhs: Core.Base.Spec.Z.t_Z) : Core.Base.Spec.Z.t_Z = - let _, r:(Core.Base.Spec.Z.t_Z & Core.Base.Spec.Z.t_Z) = z_divmod lhs rhs in - r diff --git a/proof-libs/fstar/generated-core/Core.Base_interface.Coerce.fst b/proof-libs/fstar/generated-core/Core.Base_interface.Coerce.fst deleted file mode 100644 index c829e1248..000000000 --- a/proof-libs/fstar/generated-core/Core.Base_interface.Coerce.fst +++ /dev/null @@ -1,19 +0,0 @@ -module Core.Base_interface.Coerce -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -class t_Concretization (v_Self: Type0) (v_T: Type0) = { - f_concretize_pre:v_Self -> Type0; - f_concretize_post:v_Self -> v_T -> Type0; - f_concretize:x0: v_Self - -> Prims.Pure v_T (f_concretize_pre x0) (fun result -> f_concretize_post x0 result) -} - -class t_Abstraction (v_Self: Type0) = { - f_AbstractType:Type0; - f_lift_pre:v_Self -> Type0; - f_lift_post:v_Self -> f_AbstractType -> Type0; - f_lift:x0: v_Self - -> Prims.Pure f_AbstractType (f_lift_pre x0) (fun result -> f_lift_post x0 result) -} diff --git a/proof-libs/fstar/generated-core/Core.Base_interface.Int.I128_proofs.fst b/proof-libs/fstar/generated-core/Core.Base_interface.Int.I128_proofs.fst deleted file mode 100644 index 344da15c6..000000000 --- a/proof-libs/fstar/generated-core/Core.Base_interface.Int.I128_proofs.fst +++ /dev/null @@ -1,23 +0,0 @@ -module Core.Base_interface.Int.I128_proofs -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let abstract_concretize_cancel (x: Core.Base_interface.Int.t_I128) - : Lemma Prims.l_True - (ensures - (Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_I128 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_I128) - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base_interface.Int.t_I128) =. - x) = () diff --git a/proof-libs/fstar/generated-core/Core.Base_interface.Int.I16_proofs.fst b/proof-libs/fstar/generated-core/Core.Base_interface.Int.I16_proofs.fst deleted file mode 100644 index 70d5516d0..000000000 --- a/proof-libs/fstar/generated-core/Core.Base_interface.Int.I16_proofs.fst +++ /dev/null @@ -1,23 +0,0 @@ -module Core.Base_interface.Int.I16_proofs -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let abstract_concretize_cancel (x: Core.Base_interface.Int.t_I16) - : Lemma Prims.l_True - (ensures - (Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_I16 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_I16) - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base_interface.Int.t_I16) =. - x) = () diff --git a/proof-libs/fstar/generated-core/Core.Base_interface.Int.I32_proofs.fst b/proof-libs/fstar/generated-core/Core.Base_interface.Int.I32_proofs.fst deleted file mode 100644 index 257939043..000000000 --- a/proof-libs/fstar/generated-core/Core.Base_interface.Int.I32_proofs.fst +++ /dev/null @@ -1,23 +0,0 @@ -module Core.Base_interface.Int.I32_proofs -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let abstract_concretize_cancel (x: Core.Base_interface.Int.t_I32) - : Lemma Prims.l_True - (ensures - (Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_I32 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_I32) - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base_interface.Int.t_I32) =. - x) = () diff --git a/proof-libs/fstar/generated-core/Core.Base_interface.Int.I64_proofs.fst b/proof-libs/fstar/generated-core/Core.Base_interface.Int.I64_proofs.fst deleted file mode 100644 index b7c952144..000000000 --- a/proof-libs/fstar/generated-core/Core.Base_interface.Int.I64_proofs.fst +++ /dev/null @@ -1,23 +0,0 @@ -module Core.Base_interface.Int.I64_proofs -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let abstract_concretize_cancel (x: Core.Base_interface.Int.t_I64) - : Lemma Prims.l_True - (ensures - (Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_I64 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_I64) - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base_interface.Int.t_I64) =. - x) = () diff --git a/proof-libs/fstar/generated-core/Core.Base_interface.Int.I8_proofs.fst b/proof-libs/fstar/generated-core/Core.Base_interface.Int.I8_proofs.fst deleted file mode 100644 index 93f2caac1..000000000 --- a/proof-libs/fstar/generated-core/Core.Base_interface.Int.I8_proofs.fst +++ /dev/null @@ -1,21 +0,0 @@ -module Core.Base_interface.Int.I8_proofs -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let abstract_concretize_cancel (x: Core.Base_interface.Int.t_I8) - : Lemma Prims.l_True - (ensures - (Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_I8 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_I8) - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base_interface.Int.t_I8) =. - x) = () diff --git a/proof-libs/fstar/generated-core/Core.Base_interface.Int.U128_proofs.fst b/proof-libs/fstar/generated-core/Core.Base_interface.Int.U128_proofs.fst deleted file mode 100644 index 5eca1bab0..000000000 --- a/proof-libs/fstar/generated-core/Core.Base_interface.Int.U128_proofs.fst +++ /dev/null @@ -1,194 +0,0 @@ -module Core.Base_interface.Int.U128_proofs -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let abstract_concretize_cancel (x: Core.Base_interface.Int.t_U128) - : Lemma Prims.l_True - (ensures - (Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base_interface.Int.t_U128) =. - x) = () - -let mod_add (x y z: Core.Base_interface.Int.t_U128) - : Lemma Prims.l_True - (ensures - Core.Base.Pos.haxint_le Core.Base.Spec.Constants.v_WORDSIZE_128_ - (Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - y - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) || - (((Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U128) +! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base_interface.Int.t_U128) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base_interface.Int.t_U128) =. - (((x %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base_interface.Int.t_U128) +! - (y %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base_interface.Int.t_U128) %! - z - <: - Core.Base_interface.Int.t_U128)) = () - -let mod_mul (x y z: Core.Base_interface.Int.t_U128) - : Lemma Prims.l_True - (ensures - Core.Base.Pos.haxint_lt Core.Base.Spec.Constants.v_WORDSIZE_128_ - (Core.Base.Pos.haxint_mul (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - y - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) || - (((Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U128) *! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base_interface.Int.t_U128) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base_interface.Int.t_U128) =. - ((((x %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 - #FStar.Tactics.Typeclasses.solve - z - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base_interface.Int.t_U128) *! - y - <: - Core.Base_interface.Int.t_U128) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base_interface.Int.t_U128) %! - z - <: - Core.Base_interface.Int.t_U128)) = () - -let mod_one (x: Core.Base_interface.Int.t_U128) - : Lemma Prims.l_True - (ensures - (x %! - (Core.Base_interface.Int.f_ONE #FStar.Tactics.Typeclasses.solve - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base_interface.Int.t_U128) =. - (Core.Base_interface.Int.f_ZERO #FStar.Tactics.Typeclasses.solve - <: - Core.Base_interface.Int.t_U128)) = () - -let mod_sub (x y z: Core.Base_interface.Int.t_U128) - : Lemma Prims.l_True - (ensures - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U128) <. - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U128) || - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U128) <=. - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U128) || - (((Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U128) -! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base_interface.Int.t_U128) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base_interface.Int.t_U128) =. - (((x %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base_interface.Int.t_U128) -! - (y %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U128 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base_interface.Int.t_U128) - <: - Core.Base_interface.Int.t_U128) %! - z - <: - Core.Base_interface.Int.t_U128)) = () diff --git a/proof-libs/fstar/generated-core/Core.Base_interface.Int.U16_proofs.fst b/proof-libs/fstar/generated-core/Core.Base_interface.Int.U16_proofs.fst deleted file mode 100644 index 8e0153bb5..000000000 --- a/proof-libs/fstar/generated-core/Core.Base_interface.Int.U16_proofs.fst +++ /dev/null @@ -1,194 +0,0 @@ -module Core.Base_interface.Int.U16_proofs -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let abstract_concretize_cancel (x: Core.Base_interface.Int.t_U16) - : Lemma Prims.l_True - (ensures - (Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base_interface.Int.t_U16) =. - x) = () - -let mod_add (x y z: Core.Base_interface.Int.t_U16) - : Lemma Prims.l_True - (ensures - Core.Base.Pos.haxint_le Core.Base.Spec.Constants.v_WORDSIZE_16_ - (Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - y - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) || - (((Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U16) +! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base_interface.Int.t_U16) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base_interface.Int.t_U16) =. - (((x %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base_interface.Int.t_U16) +! - (y %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base_interface.Int.t_U16) %! - z - <: - Core.Base_interface.Int.t_U16)) = () - -let mod_mul (x y z: Core.Base_interface.Int.t_U16) - : Lemma Prims.l_True - (ensures - Core.Base.Pos.haxint_lt Core.Base.Spec.Constants.v_WORDSIZE_16_ - (Core.Base.Pos.haxint_mul (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - y - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) || - (((Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U16) *! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base_interface.Int.t_U16) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base_interface.Int.t_U16) =. - ((((x %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 - #FStar.Tactics.Typeclasses.solve - z - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base_interface.Int.t_U16) *! - y - <: - Core.Base_interface.Int.t_U16) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base_interface.Int.t_U16) %! - z - <: - Core.Base_interface.Int.t_U16)) = () - -let mod_one (x: Core.Base_interface.Int.t_U16) - : Lemma Prims.l_True - (ensures - (x %! - (Core.Base_interface.Int.f_ONE #FStar.Tactics.Typeclasses.solve - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base_interface.Int.t_U16) =. - (Core.Base_interface.Int.f_ZERO #FStar.Tactics.Typeclasses.solve - <: - Core.Base_interface.Int.t_U16)) = () - -let mod_sub (x y z: Core.Base_interface.Int.t_U16) - : Lemma Prims.l_True - (ensures - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U16) <. - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U16) || - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U16) <=. - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U16) || - (((Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U16) -! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base_interface.Int.t_U16) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base_interface.Int.t_U16) =. - (((x %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base_interface.Int.t_U16) -! - (y %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U16 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base_interface.Int.t_U16) - <: - Core.Base_interface.Int.t_U16) %! - z - <: - Core.Base_interface.Int.t_U16)) = () diff --git a/proof-libs/fstar/generated-core/Core.Base_interface.Int.U32_proofs.fst b/proof-libs/fstar/generated-core/Core.Base_interface.Int.U32_proofs.fst deleted file mode 100644 index 89f493b40..000000000 --- a/proof-libs/fstar/generated-core/Core.Base_interface.Int.U32_proofs.fst +++ /dev/null @@ -1,194 +0,0 @@ -module Core.Base_interface.Int.U32_proofs -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let abstract_concretize_cancel (x: Core.Base_interface.Int.t_U32) - : Lemma Prims.l_True - (ensures - (Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base_interface.Int.t_U32) =. - x) = () - -let mod_add (x y z: Core.Base_interface.Int.t_U32) - : Lemma Prims.l_True - (ensures - Core.Base.Pos.haxint_le Core.Base.Spec.Constants.v_WORDSIZE_32_ - (Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - y - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) || - (((Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U32) +! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base_interface.Int.t_U32) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base_interface.Int.t_U32) =. - (((x %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base_interface.Int.t_U32) +! - (y %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base_interface.Int.t_U32) %! - z - <: - Core.Base_interface.Int.t_U32)) = () - -let mod_mul (x y z: Core.Base_interface.Int.t_U32) - : Lemma Prims.l_True - (ensures - Core.Base.Pos.haxint_lt Core.Base.Spec.Constants.v_WORDSIZE_32_ - (Core.Base.Pos.haxint_mul (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - y - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) || - (((Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U32) *! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base_interface.Int.t_U32) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base_interface.Int.t_U32) =. - ((((x %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 - #FStar.Tactics.Typeclasses.solve - z - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base_interface.Int.t_U32) *! - y - <: - Core.Base_interface.Int.t_U32) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base_interface.Int.t_U32) %! - z - <: - Core.Base_interface.Int.t_U32)) = () - -let mod_one (x: Core.Base_interface.Int.t_U32) - : Lemma Prims.l_True - (ensures - (x %! - (Core.Base_interface.Int.f_ONE #FStar.Tactics.Typeclasses.solve - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base_interface.Int.t_U32) =. - (Core.Base_interface.Int.f_ZERO #FStar.Tactics.Typeclasses.solve - <: - Core.Base_interface.Int.t_U32)) = () - -let mod_sub (x y z: Core.Base_interface.Int.t_U32) - : Lemma Prims.l_True - (ensures - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U32) <. - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U32) || - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U32) <=. - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U32) || - (((Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U32) -! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base_interface.Int.t_U32) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base_interface.Int.t_U32) =. - (((x %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base_interface.Int.t_U32) -! - (y %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U32 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base_interface.Int.t_U32) - <: - Core.Base_interface.Int.t_U32) %! - z - <: - Core.Base_interface.Int.t_U32)) = () diff --git a/proof-libs/fstar/generated-core/Core.Base_interface.Int.U64_proofs.fst b/proof-libs/fstar/generated-core/Core.Base_interface.Int.U64_proofs.fst deleted file mode 100644 index 08f3dcc1b..000000000 --- a/proof-libs/fstar/generated-core/Core.Base_interface.Int.U64_proofs.fst +++ /dev/null @@ -1,194 +0,0 @@ -module Core.Base_interface.Int.U64_proofs -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let abstract_concretize_cancel (x: Core.Base_interface.Int.t_U64) - : Lemma Prims.l_True - (ensures - (Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base_interface.Int.t_U64) =. - x) = () - -let mod_add (x y z: Core.Base_interface.Int.t_U64) - : Lemma Prims.l_True - (ensures - Core.Base.Pos.haxint_le Core.Base.Spec.Constants.v_WORDSIZE_64_ - (Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - y - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) || - (((Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U64) +! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base_interface.Int.t_U64) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base_interface.Int.t_U64) =. - (((x %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base_interface.Int.t_U64) +! - (y %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base_interface.Int.t_U64) %! - z - <: - Core.Base_interface.Int.t_U64)) = () - -let mod_mul (x y z: Core.Base_interface.Int.t_U64) - : Lemma Prims.l_True - (ensures - Core.Base.Pos.haxint_lt Core.Base.Spec.Constants.v_WORDSIZE_64_ - (Core.Base.Pos.haxint_mul (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - y - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) || - (((Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U64) *! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base_interface.Int.t_U64) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base_interface.Int.t_U64) =. - ((((x %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 - #FStar.Tactics.Typeclasses.solve - z - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base_interface.Int.t_U64) *! - y - <: - Core.Base_interface.Int.t_U64) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base_interface.Int.t_U64) %! - z - <: - Core.Base_interface.Int.t_U64)) = () - -let mod_one (x: Core.Base_interface.Int.t_U64) - : Lemma Prims.l_True - (ensures - (x %! - (Core.Base_interface.Int.f_ONE #FStar.Tactics.Typeclasses.solve - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base_interface.Int.t_U64) =. - (Core.Base_interface.Int.f_ZERO #FStar.Tactics.Typeclasses.solve - <: - Core.Base_interface.Int.t_U64)) = () - -let mod_sub (x y z: Core.Base_interface.Int.t_U64) - : Lemma Prims.l_True - (ensures - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U64) <. - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U64) || - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U64) <=. - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U64) || - (((Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U64) -! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base_interface.Int.t_U64) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base_interface.Int.t_U64) =. - (((x %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base_interface.Int.t_U64) -! - (y %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U64 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base_interface.Int.t_U64) - <: - Core.Base_interface.Int.t_U64) %! - z - <: - Core.Base_interface.Int.t_U64)) = () diff --git a/proof-libs/fstar/generated-core/Core.Base_interface.Int.U8_proofs.fst b/proof-libs/fstar/generated-core/Core.Base_interface.Int.U8_proofs.fst deleted file mode 100644 index 98d6ce9d0..000000000 --- a/proof-libs/fstar/generated-core/Core.Base_interface.Int.U8_proofs.fst +++ /dev/null @@ -1,190 +0,0 @@ -module Core.Base_interface.Int.U8_proofs -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let abstract_concretize_cancel (x: Core.Base_interface.Int.t_U8) - : Lemma Prims.l_True - (ensures - (Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base_interface.Int.t_U8) =. - x) = () - -let mod_add (x y z: Core.Base_interface.Int.t_U8) - : Lemma Prims.l_True - (ensures - Core.Base.Pos.haxint_le Core.Base.Spec.Constants.v_WORDSIZE_8_ - (Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - y - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) || - (((Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U8) +! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base_interface.Int.t_U8) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base_interface.Int.t_U8) =. - (((x %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base_interface.Int.t_U8) +! - (y %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base_interface.Int.t_U8) %! - z - <: - Core.Base_interface.Int.t_U8)) = () - -let mod_mul (x y z: Core.Base_interface.Int.t_U8) - : Lemma Prims.l_True - (ensures - Core.Base.Pos.haxint_lt Core.Base.Spec.Constants.v_WORDSIZE_8_ - (Core.Base.Pos.haxint_mul (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - x - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 - #FStar.Tactics.Typeclasses.solve - y - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) || - (((Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U8) *! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base_interface.Int.t_U8) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base_interface.Int.t_U8) =. - ((((x %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base_interface.Int.t_U8) *! - y - <: - Core.Base_interface.Int.t_U8) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base_interface.Int.t_U8) %! - z - <: - Core.Base_interface.Int.t_U8)) = () - -let mod_one (x: Core.Base_interface.Int.t_U8) - : Lemma Prims.l_True - (ensures - (x %! - (Core.Base_interface.Int.f_ONE #FStar.Tactics.Typeclasses.solve - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base_interface.Int.t_U8) =. - (Core.Base_interface.Int.f_ZERO #FStar.Tactics.Typeclasses.solve - <: - Core.Base_interface.Int.t_U8)) = () - -let mod_sub (x y z: Core.Base_interface.Int.t_U8) - : Lemma Prims.l_True - (ensures - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U8) <. - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U8) || - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U8) <=. - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U8) || - (((Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base_interface.Int.t_U8) -! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve y - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base_interface.Int.t_U8) %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base_interface.Int.t_U8) =. - (((x %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base_interface.Int.t_U8) -! - (y %! - (Core.Clone.f_clone #Core.Base_interface.Int.t_U8 #FStar.Tactics.Typeclasses.solve z - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base_interface.Int.t_U8) - <: - Core.Base_interface.Int.t_U8) %! - z - <: - Core.Base_interface.Int.t_U8)) = () diff --git a/proof-libs/fstar/generated-core/Core.Base_interface.Int.fst b/proof-libs/fstar/generated-core/Core.Base_interface.Int.fst deleted file mode 100644 index d2a8ebb92..000000000 --- a/proof-libs/fstar/generated-core/Core.Base_interface.Int.fst +++ /dev/null @@ -1,5811 +0,0 @@ -module Core.Base_interface.Int -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -class t_Constants (v_Self: Type0) = { - f_ZERO:v_Self; - f_ONE:v_Self; - f_MIN:v_Self; - f_MAX:v_Self -} - -type t_I128 = { f_v:Core.Base.Spec.Z.t_Z } - -type t_I16 = { f_v:Core.Base.Spec.Z.t_Z } - -type t_I32 = { f_v:Core.Base.Spec.Z.t_Z } - -type t_I64 = { f_v:Core.Base.Spec.Z.t_Z } - -type t_I8 = { f_v:Core.Base.Spec.Z.t_Z } - -type t_U128 = { f_v:Core.Base.Spec.Haxint.t_HaxInt } - -type t_U16 = { f_v:Core.Base.Spec.Haxint.t_HaxInt } - -type t_U32 = { f_v:Core.Base.Spec.Haxint.t_HaxInt } - -type t_U64 = { f_v:Core.Base.Spec.Haxint.t_HaxInt } - -type t_U8 = { f_v:Core.Base.Spec.Haxint.t_HaxInt } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_43: Core.Base_interface.Coerce.t_Concretization Core.Base.Spec.Z.t_Z t_I128 = - { - f_concretize_pre = (fun (self: Core.Base.Spec.Z.t_Z) -> true); - f_concretize_post = (fun (self: Core.Base.Spec.Z.t_Z) (out: t_I128) -> true); - f_concretize = fun (self: Core.Base.Spec.Z.t_Z) -> { f_v = self } <: t_I128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_51: Core.Clone.t_Clone t_I128 = - { - f_clone_pre = (fun (self: t_I128) -> true); - f_clone_post = (fun (self: t_I128) (out: t_I128) -> true); - f_clone - = - fun (self: t_I128) -> - { f_v = Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve self.f_v } - <: - t_I128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_57: Core.Base_interface.Coerce.t_Concretization Core.Base.Spec.Z.t_Z t_I64 = - { - f_concretize_pre = (fun (self: Core.Base.Spec.Z.t_Z) -> true); - f_concretize_post = (fun (self: Core.Base.Spec.Z.t_Z) (out: t_I64) -> true); - f_concretize = fun (self: Core.Base.Spec.Z.t_Z) -> { f_v = self } <: t_I64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_65: Core.Clone.t_Clone t_I64 = - { - f_clone_pre = (fun (self: t_I64) -> true); - f_clone_post = (fun (self: t_I64) (out: t_I64) -> true); - f_clone - = - fun (self: t_I64) -> - { f_v = Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve self.f_v } - <: - t_I64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_71: Core.Base_interface.Coerce.t_Concretization Core.Base.Spec.Z.t_Z t_I32 = - { - f_concretize_pre = (fun (self: Core.Base.Spec.Z.t_Z) -> true); - f_concretize_post = (fun (self: Core.Base.Spec.Z.t_Z) (out: t_I32) -> true); - f_concretize = fun (self: Core.Base.Spec.Z.t_Z) -> { f_v = self } <: t_I32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_79: Core.Clone.t_Clone t_I32 = - { - f_clone_pre = (fun (self: t_I32) -> true); - f_clone_post = (fun (self: t_I32) (out: t_I32) -> true); - f_clone - = - fun (self: t_I32) -> - { f_v = Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve self.f_v } - <: - t_I32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_85: Core.Base_interface.Coerce.t_Concretization Core.Base.Spec.Z.t_Z t_I16 = - { - f_concretize_pre = (fun (self: Core.Base.Spec.Z.t_Z) -> true); - f_concretize_post = (fun (self: Core.Base.Spec.Z.t_Z) (out: t_I16) -> true); - f_concretize = fun (self: Core.Base.Spec.Z.t_Z) -> { f_v = self } <: t_I16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_93: Core.Clone.t_Clone t_I16 = - { - f_clone_pre = (fun (self: t_I16) -> true); - f_clone_post = (fun (self: t_I16) (out: t_I16) -> true); - f_clone - = - fun (self: t_I16) -> - { f_v = Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve self.f_v } - <: - t_I16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_99: Core.Base_interface.Coerce.t_Concretization Core.Base.Spec.Z.t_Z t_I8 = - { - f_concretize_pre = (fun (self: Core.Base.Spec.Z.t_Z) -> true); - f_concretize_post = (fun (self: Core.Base.Spec.Z.t_Z) (out: t_I8) -> true); - f_concretize = fun (self: Core.Base.Spec.Z.t_Z) -> { f_v = self } <: t_I8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_107: Core.Clone.t_Clone t_I8 = - { - f_clone_pre = (fun (self: t_I8) -> true); - f_clone_post = (fun (self: t_I8) (out: t_I8) -> true); - f_clone - = - fun (self: t_I8) -> - { f_v = Core.Clone.f_clone #Core.Base.Spec.Z.t_Z #FStar.Tactics.Typeclasses.solve self.f_v } - <: - t_I8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_40: t_Constants t_I128 = - { - f_ZERO = { f_v = Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z } <: t_I128; - f_ONE - = - { f_v = Core.Base.Spec.Z.Z_POS Core.Base.Spec.Binary.Positive.xH <: Core.Base.Spec.Z.t_Z } - <: - t_I128; - f_MIN - = - { - f_v - = - Core.Base.Spec.Z.Z_NEG - (Core.Base.Spec.Binary.Positive.Positive Core.Base.Spec.Constants.v_WORDSIZE_64_ - <: - Core.Base.Spec.Binary.Positive.t_Positive) - <: - Core.Base.Spec.Z.t_Z - } - <: - t_I128; - f_MAX - = - { - f_v - = - Core.Base.Spec.Z.Z_POS - (Core.Base.Spec.Binary.Positive.Positive Core.Base.Spec.Constants.v_WORDSIZE_64_SUB_1_ - <: - Core.Base.Spec.Binary.Positive.t_Positive) - <: - Core.Base.Spec.Z.t_Z - } - <: - t_I128 - } - -let impl_41__BITS: t_U32 = { f_v = Core.Base.Spec.Constants.v_BITS_128_ } <: t_U32 - -let impl_41__WORDSIZE: Core.Base.Spec.Haxint.t_HaxInt = Core.Base.Spec.Constants.v_WORDSIZE_128_ - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_54: t_Constants t_I64 = - { - f_ZERO = { f_v = Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z } <: t_I64; - f_ONE - = - { f_v = Core.Base.Spec.Z.Z_POS Core.Base.Spec.Binary.Positive.xH <: Core.Base.Spec.Z.t_Z } - <: - t_I64; - f_MIN - = - { - f_v - = - Core.Base.Spec.Z.Z_NEG - (Core.Base.Spec.Binary.Positive.Positive Core.Base.Spec.Constants.v_WORDSIZE_32_ - <: - Core.Base.Spec.Binary.Positive.t_Positive) - <: - Core.Base.Spec.Z.t_Z - } - <: - t_I64; - f_MAX - = - { - f_v - = - Core.Base.Spec.Z.Z_POS - (Core.Base.Spec.Binary.Positive.Positive Core.Base.Spec.Constants.v_WORDSIZE_32_SUB_1_ - <: - Core.Base.Spec.Binary.Positive.t_Positive) - <: - Core.Base.Spec.Z.t_Z - } - <: - t_I64 - } - -let impl_55__BITS: t_U32 = { f_v = Core.Base.Spec.Constants.v_BITS_64_ } <: t_U32 - -let impl_55__WORDSIZE: Core.Base.Spec.Haxint.t_HaxInt = Core.Base.Spec.Constants.v_WORDSIZE_64_ - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_68: t_Constants t_I32 = - { - f_ZERO = { f_v = Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z } <: t_I32; - f_ONE - = - { f_v = Core.Base.Spec.Z.Z_POS Core.Base.Spec.Binary.Positive.xH <: Core.Base.Spec.Z.t_Z } - <: - t_I32; - f_MIN - = - { - f_v - = - Core.Base.Spec.Z.Z_NEG - (Core.Base.Spec.Binary.Positive.Positive Core.Base.Spec.Constants.v_WORDSIZE_16_ - <: - Core.Base.Spec.Binary.Positive.t_Positive) - <: - Core.Base.Spec.Z.t_Z - } - <: - t_I32; - f_MAX - = - { - f_v - = - Core.Base.Spec.Z.Z_POS - (Core.Base.Spec.Binary.Positive.Positive Core.Base.Spec.Constants.v_WORDSIZE_16_SUB_1_ - <: - Core.Base.Spec.Binary.Positive.t_Positive) - <: - Core.Base.Spec.Z.t_Z - } - <: - t_I32 - } - -let impl_69__BITS: t_U32 = { f_v = Core.Base.Spec.Constants.v_BITS_32_ } <: t_U32 - -let impl_69__WORDSIZE: Core.Base.Spec.Haxint.t_HaxInt = Core.Base.Spec.Constants.v_WORDSIZE_32_ - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_82: t_Constants t_I16 = - { - f_ZERO = { f_v = Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z } <: t_I16; - f_ONE - = - { f_v = Core.Base.Spec.Z.Z_POS Core.Base.Spec.Binary.Positive.xH <: Core.Base.Spec.Z.t_Z } - <: - t_I16; - f_MIN - = - { - f_v - = - Core.Base.Spec.Z.Z_NEG - (Core.Base.Spec.Binary.Positive.Positive Core.Base.Spec.Constants.v_WORDSIZE_8_ - <: - Core.Base.Spec.Binary.Positive.t_Positive) - <: - Core.Base.Spec.Z.t_Z - } - <: - t_I16; - f_MAX - = - { - f_v - = - Core.Base.Spec.Z.Z_POS - (Core.Base.Spec.Binary.Positive.Positive Core.Base.Spec.Constants.v_WORDSIZE_8_SUB_1_ - <: - Core.Base.Spec.Binary.Positive.t_Positive) - <: - Core.Base.Spec.Z.t_Z - } - <: - t_I16 - } - -let impl_83__BITS: t_U32 = { f_v = Core.Base.Spec.Constants.v_BITS_16_ } <: t_U32 - -let impl_83__WORDSIZE: Core.Base.Spec.Haxint.t_HaxInt = Core.Base.Spec.Constants.v_WORDSIZE_16_ - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_96: t_Constants t_I8 = - { - f_ZERO = { f_v = Core.Base.Spec.Z.Z_ZERO <: Core.Base.Spec.Z.t_Z } <: t_I8; - f_ONE - = - { f_v = Core.Base.Spec.Z.Z_POS Core.Base.Spec.Binary.Positive.xH <: Core.Base.Spec.Z.t_Z } - <: - t_I8; - f_MIN - = - { - f_v - = - Core.Base.Spec.Z.Z_NEG - (Core.Base.Spec.Binary.Positive.Positive Core.Base.Spec.Constants.v_WORDSIZE_4_ - <: - Core.Base.Spec.Binary.Positive.t_Positive) - <: - Core.Base.Spec.Z.t_Z - } - <: - t_I8; - f_MAX - = - { - f_v - = - Core.Base.Spec.Z.Z_POS - (Core.Base.Spec.Binary.Positive.Positive Core.Base.Spec.Constants.v_WORDSIZE_4_SUB_1_ - <: - Core.Base.Spec.Binary.Positive.t_Positive) - <: - Core.Base.Spec.Z.t_Z - } - <: - t_I8 - } - -let impl_97__BITS: t_U32 = { f_v = Core.Base.Spec.Constants.v_BITS_8_ } <: t_U32 - -let impl_97__WORDSIZE: Core.Base.Spec.Haxint.t_HaxInt = Core.Base.Spec.Constants.v_WORDSIZE_8_ - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_110: t_Constants t_U128 = - { - f_ZERO = { f_v = Core.Base.Spec.Haxint.v_HaxInt_ZERO } <: t_U128; - f_ONE = { f_v = Core.Base.Spec.Haxint.v_HaxInt_ONE } <: t_U128; - f_MIN = { f_v = Core.Base.Spec.Haxint.v_HaxInt_ZERO } <: t_U128; - f_MAX = { f_v = Core.Base.Spec.Constants.v_WORDSIZE_128_SUB_1_ } <: t_U128 - } - -let impl_111__BITS: t_U32 = { f_v = Core.Base.Spec.Constants.v_BITS_128_ } <: t_U32 - -let impl_111__WORDSIZE: Core.Base.Spec.Haxint.t_HaxInt = Core.Base.Spec.Constants.v_WORDSIZE_128_ - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_137: t_Constants t_U64 = - { - f_ZERO = { f_v = Core.Base.Spec.Haxint.v_HaxInt_ZERO } <: t_U64; - f_ONE = { f_v = Core.Base.Spec.Haxint.v_HaxInt_ONE } <: t_U64; - f_MIN = { f_v = Core.Base.Spec.Haxint.v_HaxInt_ZERO } <: t_U64; - f_MAX = { f_v = Core.Base.Spec.Constants.v_WORDSIZE_64_SUB_1_ } <: t_U64 - } - -let impl_138__BITS: t_U32 = { f_v = Core.Base.Spec.Constants.v_BITS_64_ } <: t_U32 - -let impl_138__WORDSIZE: Core.Base.Spec.Haxint.t_HaxInt = Core.Base.Spec.Constants.v_WORDSIZE_64_ - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_164: t_Constants t_U32 = - { - f_ZERO = { f_v = Core.Base.Spec.Haxint.v_HaxInt_ZERO } <: t_U32; - f_ONE = { f_v = Core.Base.Spec.Haxint.v_HaxInt_ONE } <: t_U32; - f_MIN = { f_v = Core.Base.Spec.Haxint.v_HaxInt_ZERO } <: t_U32; - f_MAX = { f_v = Core.Base.Spec.Constants.v_WORDSIZE_32_SUB_1_ } <: t_U32 - } - -let impl_165__BITS: t_U32 = { f_v = Core.Base.Spec.Constants.v_BITS_32_ } <: t_U32 - -let impl_165__WORDSIZE: Core.Base.Spec.Haxint.t_HaxInt = Core.Base.Spec.Constants.v_WORDSIZE_32_ - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_191: t_Constants t_U16 = - { - f_ZERO = { f_v = Core.Base.Spec.Haxint.v_HaxInt_ZERO } <: t_U16; - f_ONE = { f_v = Core.Base.Spec.Haxint.v_HaxInt_ONE } <: t_U16; - f_MIN = { f_v = Core.Base.Spec.Haxint.v_HaxInt_ZERO } <: t_U16; - f_MAX = { f_v = Core.Base.Spec.Constants.v_WORDSIZE_16_SUB_1_ } <: t_U16 - } - -let impl_192__BITS: t_U32 = { f_v = Core.Base.Spec.Constants.v_BITS_16_ } <: t_U32 - -let impl_192__WORDSIZE: Core.Base.Spec.Haxint.t_HaxInt = Core.Base.Spec.Constants.v_WORDSIZE_16_ - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_218: t_Constants t_U8 = - { - f_ZERO = { f_v = Core.Base.Spec.Haxint.v_HaxInt_ZERO } <: t_U8; - f_ONE = { f_v = Core.Base.Spec.Haxint.v_HaxInt_ONE } <: t_U8; - f_MIN = { f_v = Core.Base.Spec.Haxint.v_HaxInt_ZERO } <: t_U8; - f_MAX = { f_v = Core.Base.Spec.Constants.v_WORDSIZE_8_SUB_1_ } <: t_U8 - } - -let impl_219__BITS: t_U32 = { f_v = Core.Base.Spec.Constants.v_BITS_8_ } <: t_U32 - -let impl_219__WORDSIZE: Core.Base.Spec.Haxint.t_HaxInt = Core.Base.Spec.Constants.v_WORDSIZE_8_ - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_134: Core.Clone.t_Clone t_U128 = - { - f_clone_pre = (fun (self: t_U128) -> true); - f_clone_post = (fun (self: t_U128) (out: t_U128) -> true); - f_clone - = - fun (self: t_U128) -> - { - f_v - = - Core.Clone.f_clone #Core.Base.Spec.Haxint.t_HaxInt #FStar.Tactics.Typeclasses.solve self.f_v - } - <: - t_U128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_161: Core.Clone.t_Clone t_U64 = - { - f_clone_pre = (fun (self: t_U64) -> true); - f_clone_post = (fun (self: t_U64) (out: t_U64) -> true); - f_clone - = - fun (self: t_U64) -> - { - f_v - = - Core.Clone.f_clone #Core.Base.Spec.Haxint.t_HaxInt #FStar.Tactics.Typeclasses.solve self.f_v - } - <: - t_U64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_188: Core.Clone.t_Clone t_U32 = - { - f_clone_pre = (fun (self: t_U32) -> true); - f_clone_post = (fun (self: t_U32) (out: t_U32) -> true); - f_clone - = - fun (self: t_U32) -> - { - f_v - = - Core.Clone.f_clone #Core.Base.Spec.Haxint.t_HaxInt #FStar.Tactics.Typeclasses.solve self.f_v - } - <: - t_U32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_215: Core.Clone.t_Clone t_U16 = - { - f_clone_pre = (fun (self: t_U16) -> true); - f_clone_post = (fun (self: t_U16) (out: t_U16) -> true); - f_clone - = - fun (self: t_U16) -> - { - f_v - = - Core.Clone.f_clone #Core.Base.Spec.Haxint.t_HaxInt #FStar.Tactics.Typeclasses.solve self.f_v - } - <: - t_U16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_242: Core.Clone.t_Clone t_U8 = - { - f_clone_pre = (fun (self: t_U8) -> true); - f_clone_post = (fun (self: t_U8) (out: t_U8) -> true); - f_clone - = - fun (self: t_U8) -> - { - f_v - = - Core.Clone.f_clone #Core.Base.Spec.Haxint.t_HaxInt #FStar.Tactics.Typeclasses.solve self.f_v - } - <: - t_U8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_42: Core.Base_interface.Coerce.t_Abstraction t_I128 = - { - f_AbstractType = Core.Base.Spec.Z.t_Z; - f_lift_pre = (fun (self: t_I128) -> true); - f_lift_post = (fun (self: t_I128) (out: Core.Base.Spec.Z.t_Z) -> true); - f_lift = fun (self: t_I128) -> self.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_36: Core.Convert.t_From t_I8 t_I128 = - { - f_from_pre = (fun (x: t_I128) -> true); - f_from_post = (fun (x: t_I128) (out: t_I8) -> true); - f_from - = - fun (x: t_I128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I128 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_37: Core.Convert.t_From t_I16 t_I128 = - { - f_from_pre = (fun (x: t_I128) -> true); - f_from_post = (fun (x: t_I128) (out: t_I16) -> true); - f_from - = - fun (x: t_I128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I128 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_38: Core.Convert.t_From t_I32 t_I128 = - { - f_from_pre = (fun (x: t_I128) -> true); - f_from_post = (fun (x: t_I128) (out: t_I32) -> true); - f_from - = - fun (x: t_I128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I128 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_39: Core.Convert.t_From t_I64 t_I128 = - { - f_from_pre = (fun (x: t_I128) -> true); - f_from_post = (fun (x: t_I128) (out: t_I64) -> true); - f_from - = - fun (x: t_I128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I128 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_52: Core.Cmp.t_PartialEq t_I128 t_I128 = - { - f_eq_pre = (fun (self: t_I128) (rhs: t_I128) -> true); - f_eq_post = (fun (self: t_I128) (rhs: t_I128) (out: bool) -> true); - f_eq - = - (fun (self: t_I128) (rhs: t_I128) -> - (Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I128 #FStar.Tactics.Typeclasses.solve self <: t_I128) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I128 #FStar.Tactics.Typeclasses.solve rhs <: t_I128) - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Cmp.t_Ordering) =. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering)); - f_ne_pre = (fun (self: t_I128) (rhs: t_I128) -> true); - f_ne_post = (fun (self: t_I128) (rhs: t_I128) (out: bool) -> true); - f_ne - = - fun (self: t_I128) (rhs: t_I128) -> - (Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I128 #FStar.Tactics.Typeclasses.solve self <: t_I128) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I128 #FStar.Tactics.Typeclasses.solve rhs <: t_I128) - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Cmp.t_Ordering) <>. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_53: Core.Cmp.t_PartialOrd t_I128 t_I128 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_I128) (rhs: t_I128) -> true); - f_partial_cmp_post - = - (fun (self: t_I128) (rhs: t_I128) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_I128) (rhs: t_I128) -> - Core.Option.Option_Some - (Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I128 #FStar.Tactics.Typeclasses.solve self <: t_I128) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I128 #FStar.Tactics.Typeclasses.solve rhs <: t_I128) - <: - Core.Base.Spec.Z.t_Z)) - <: - Core.Option.t_Option Core.Cmp.t_Ordering); - f_lt_pre = (fun (self: t_I128) (rhs: t_I128) -> true); - f_lt_post = (fun (self: t_I128) (rhs: t_I128) (out: bool) -> true); - f_lt - = - (fun (self: t_I128) (rhs: t_I128) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I128 #FStar.Tactics.Typeclasses.solve self <: t_I128) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I128 #FStar.Tactics.Typeclasses.solve rhs <: t_I128) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Less -> true - | _ -> false); - f_le_pre = (fun (self: t_I128) (rhs: t_I128) -> true); - f_le_post = (fun (self: t_I128) (rhs: t_I128) (out: bool) -> true); - f_le - = - (fun (self: t_I128) (rhs: t_I128) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I128 #FStar.Tactics.Typeclasses.solve self <: t_I128) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I128 #FStar.Tactics.Typeclasses.solve rhs <: t_I128) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Less | Core.Cmp.Ordering_Equal -> true - | _ -> false); - f_gt_pre = (fun (self: t_I128) (rhs: t_I128) -> true); - f_gt_post = (fun (self: t_I128) (rhs: t_I128) (out: bool) -> true); - f_gt - = - (fun (self: t_I128) (rhs: t_I128) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I128 #FStar.Tactics.Typeclasses.solve self <: t_I128) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I128 #FStar.Tactics.Typeclasses.solve rhs <: t_I128) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Greater -> true - | _ -> false); - f_ge_pre = (fun (self: t_I128) (rhs: t_I128) -> true); - f_ge_post = (fun (self: t_I128) (rhs: t_I128) (out: bool) -> true); - f_ge - = - fun (self: t_I128) (rhs: t_I128) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I128 #FStar.Tactics.Typeclasses.solve self <: t_I128) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I128 #FStar.Tactics.Typeclasses.solve rhs <: t_I128) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Greater | Core.Cmp.Ordering_Equal -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_56: Core.Base_interface.Coerce.t_Abstraction t_I64 = - { - f_AbstractType = Core.Base.Spec.Z.t_Z; - f_lift_pre = (fun (self: t_I64) -> true); - f_lift_post = (fun (self: t_I64) (out: Core.Base.Spec.Z.t_Z) -> true); - f_lift = fun (self: t_I64) -> self.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_32: Core.Convert.t_From t_I8 t_I64 = - { - f_from_pre = (fun (x: t_I64) -> true); - f_from_post = (fun (x: t_I64) (out: t_I8) -> true); - f_from - = - fun (x: t_I64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I64 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_33: Core.Convert.t_From t_I16 t_I64 = - { - f_from_pre = (fun (x: t_I64) -> true); - f_from_post = (fun (x: t_I64) (out: t_I16) -> true); - f_from - = - fun (x: t_I64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I64 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_34: Core.Convert.t_From t_I32 t_I64 = - { - f_from_pre = (fun (x: t_I64) -> true); - f_from_post = (fun (x: t_I64) (out: t_I32) -> true); - f_from - = - fun (x: t_I64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I64 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_35: Core.Convert.t_From t_I128 t_I64 = - { - f_from_pre = (fun (x: t_I64) -> true); - f_from_post = (fun (x: t_I64) (out: t_I128) -> true); - f_from - = - fun (x: t_I64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I64 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_66: Core.Cmp.t_PartialEq t_I64 t_I64 = - { - f_eq_pre = (fun (self: t_I64) (rhs: t_I64) -> true); - f_eq_post = (fun (self: t_I64) (rhs: t_I64) (out: bool) -> true); - f_eq - = - (fun (self: t_I64) (rhs: t_I64) -> - (Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I64 #FStar.Tactics.Typeclasses.solve self <: t_I64) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I64 #FStar.Tactics.Typeclasses.solve rhs <: t_I64) - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Cmp.t_Ordering) =. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering)); - f_ne_pre = (fun (self: t_I64) (rhs: t_I64) -> true); - f_ne_post = (fun (self: t_I64) (rhs: t_I64) (out: bool) -> true); - f_ne - = - fun (self: t_I64) (rhs: t_I64) -> - (Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I64 #FStar.Tactics.Typeclasses.solve self <: t_I64) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I64 #FStar.Tactics.Typeclasses.solve rhs <: t_I64) - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Cmp.t_Ordering) <>. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_67: Core.Cmp.t_PartialOrd t_I64 t_I64 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_I64) (rhs: t_I64) -> true); - f_partial_cmp_post - = - (fun (self: t_I64) (rhs: t_I64) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_I64) (rhs: t_I64) -> - Core.Option.Option_Some - (Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I64 #FStar.Tactics.Typeclasses.solve self <: t_I64) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I64 #FStar.Tactics.Typeclasses.solve rhs <: t_I64) - <: - Core.Base.Spec.Z.t_Z)) - <: - Core.Option.t_Option Core.Cmp.t_Ordering); - f_lt_pre = (fun (self: t_I64) (rhs: t_I64) -> true); - f_lt_post = (fun (self: t_I64) (rhs: t_I64) (out: bool) -> true); - f_lt - = - (fun (self: t_I64) (rhs: t_I64) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I64 #FStar.Tactics.Typeclasses.solve self <: t_I64) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I64 #FStar.Tactics.Typeclasses.solve rhs <: t_I64) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Less -> true - | _ -> false); - f_le_pre = (fun (self: t_I64) (rhs: t_I64) -> true); - f_le_post = (fun (self: t_I64) (rhs: t_I64) (out: bool) -> true); - f_le - = - (fun (self: t_I64) (rhs: t_I64) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I64 #FStar.Tactics.Typeclasses.solve self <: t_I64) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I64 #FStar.Tactics.Typeclasses.solve rhs <: t_I64) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Less | Core.Cmp.Ordering_Equal -> true - | _ -> false); - f_gt_pre = (fun (self: t_I64) (rhs: t_I64) -> true); - f_gt_post = (fun (self: t_I64) (rhs: t_I64) (out: bool) -> true); - f_gt - = - (fun (self: t_I64) (rhs: t_I64) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I64 #FStar.Tactics.Typeclasses.solve self <: t_I64) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I64 #FStar.Tactics.Typeclasses.solve rhs <: t_I64) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Greater -> true - | _ -> false); - f_ge_pre = (fun (self: t_I64) (rhs: t_I64) -> true); - f_ge_post = (fun (self: t_I64) (rhs: t_I64) (out: bool) -> true); - f_ge - = - fun (self: t_I64) (rhs: t_I64) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I64 #FStar.Tactics.Typeclasses.solve self <: t_I64) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I64 #FStar.Tactics.Typeclasses.solve rhs <: t_I64) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Greater | Core.Cmp.Ordering_Equal -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_70: Core.Base_interface.Coerce.t_Abstraction t_I32 = - { - f_AbstractType = Core.Base.Spec.Z.t_Z; - f_lift_pre = (fun (self: t_I32) -> true); - f_lift_post = (fun (self: t_I32) (out: Core.Base.Spec.Z.t_Z) -> true); - f_lift = fun (self: t_I32) -> self.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_28: Core.Convert.t_From t_I8 t_I32 = - { - f_from_pre = (fun (x: t_I32) -> true); - f_from_post = (fun (x: t_I32) (out: t_I8) -> true); - f_from - = - fun (x: t_I32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I32 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_29: Core.Convert.t_From t_I16 t_I32 = - { - f_from_pre = (fun (x: t_I32) -> true); - f_from_post = (fun (x: t_I32) (out: t_I16) -> true); - f_from - = - fun (x: t_I32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I32 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_30: Core.Convert.t_From t_I64 t_I32 = - { - f_from_pre = (fun (x: t_I32) -> true); - f_from_post = (fun (x: t_I32) (out: t_I64) -> true); - f_from - = - fun (x: t_I32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I32 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_31: Core.Convert.t_From t_I128 t_I32 = - { - f_from_pre = (fun (x: t_I32) -> true); - f_from_post = (fun (x: t_I32) (out: t_I128) -> true); - f_from - = - fun (x: t_I32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I32 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_80: Core.Cmp.t_PartialEq t_I32 t_I32 = - { - f_eq_pre = (fun (self: t_I32) (rhs: t_I32) -> true); - f_eq_post = (fun (self: t_I32) (rhs: t_I32) (out: bool) -> true); - f_eq - = - (fun (self: t_I32) (rhs: t_I32) -> - (Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I32 #FStar.Tactics.Typeclasses.solve self <: t_I32) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I32 #FStar.Tactics.Typeclasses.solve rhs <: t_I32) - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Cmp.t_Ordering) =. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering)); - f_ne_pre = (fun (self: t_I32) (rhs: t_I32) -> true); - f_ne_post = (fun (self: t_I32) (rhs: t_I32) (out: bool) -> true); - f_ne - = - fun (self: t_I32) (rhs: t_I32) -> - (Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I32 #FStar.Tactics.Typeclasses.solve self <: t_I32) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I32 #FStar.Tactics.Typeclasses.solve rhs <: t_I32) - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Cmp.t_Ordering) <>. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_81: Core.Cmp.t_PartialOrd t_I32 t_I32 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_I32) (rhs: t_I32) -> true); - f_partial_cmp_post - = - (fun (self: t_I32) (rhs: t_I32) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_I32) (rhs: t_I32) -> - Core.Option.Option_Some - (Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I32 #FStar.Tactics.Typeclasses.solve self <: t_I32) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I32 #FStar.Tactics.Typeclasses.solve rhs <: t_I32) - <: - Core.Base.Spec.Z.t_Z)) - <: - Core.Option.t_Option Core.Cmp.t_Ordering); - f_lt_pre = (fun (self: t_I32) (rhs: t_I32) -> true); - f_lt_post = (fun (self: t_I32) (rhs: t_I32) (out: bool) -> true); - f_lt - = - (fun (self: t_I32) (rhs: t_I32) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I32 #FStar.Tactics.Typeclasses.solve self <: t_I32) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I32 #FStar.Tactics.Typeclasses.solve rhs <: t_I32) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Less -> true - | _ -> false); - f_le_pre = (fun (self: t_I32) (rhs: t_I32) -> true); - f_le_post = (fun (self: t_I32) (rhs: t_I32) (out: bool) -> true); - f_le - = - (fun (self: t_I32) (rhs: t_I32) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I32 #FStar.Tactics.Typeclasses.solve self <: t_I32) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I32 #FStar.Tactics.Typeclasses.solve rhs <: t_I32) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Less | Core.Cmp.Ordering_Equal -> true - | _ -> false); - f_gt_pre = (fun (self: t_I32) (rhs: t_I32) -> true); - f_gt_post = (fun (self: t_I32) (rhs: t_I32) (out: bool) -> true); - f_gt - = - (fun (self: t_I32) (rhs: t_I32) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I32 #FStar.Tactics.Typeclasses.solve self <: t_I32) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I32 #FStar.Tactics.Typeclasses.solve rhs <: t_I32) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Greater -> true - | _ -> false); - f_ge_pre = (fun (self: t_I32) (rhs: t_I32) -> true); - f_ge_post = (fun (self: t_I32) (rhs: t_I32) (out: bool) -> true); - f_ge - = - fun (self: t_I32) (rhs: t_I32) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I32 #FStar.Tactics.Typeclasses.solve self <: t_I32) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I32 #FStar.Tactics.Typeclasses.solve rhs <: t_I32) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Greater | Core.Cmp.Ordering_Equal -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_84: Core.Base_interface.Coerce.t_Abstraction t_I16 = - { - f_AbstractType = Core.Base.Spec.Z.t_Z; - f_lift_pre = (fun (self: t_I16) -> true); - f_lift_post = (fun (self: t_I16) (out: Core.Base.Spec.Z.t_Z) -> true); - f_lift = fun (self: t_I16) -> self.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_24: Core.Convert.t_From t_I8 t_I16 = - { - f_from_pre = (fun (x: t_I16) -> true); - f_from_post = (fun (x: t_I16) (out: t_I8) -> true); - f_from - = - fun (x: t_I16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I16 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_25: Core.Convert.t_From t_I32 t_I16 = - { - f_from_pre = (fun (x: t_I16) -> true); - f_from_post = (fun (x: t_I16) (out: t_I32) -> true); - f_from - = - fun (x: t_I16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I16 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_26: Core.Convert.t_From t_I64 t_I16 = - { - f_from_pre = (fun (x: t_I16) -> true); - f_from_post = (fun (x: t_I16) (out: t_I64) -> true); - f_from - = - fun (x: t_I16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I16 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_27: Core.Convert.t_From t_I128 t_I16 = - { - f_from_pre = (fun (x: t_I16) -> true); - f_from_post = (fun (x: t_I16) (out: t_I128) -> true); - f_from - = - fun (x: t_I16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I16 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_94: Core.Cmp.t_PartialEq t_I16 t_I16 = - { - f_eq_pre = (fun (self: t_I16) (rhs: t_I16) -> true); - f_eq_post = (fun (self: t_I16) (rhs: t_I16) (out: bool) -> true); - f_eq - = - (fun (self: t_I16) (rhs: t_I16) -> - (Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I16 #FStar.Tactics.Typeclasses.solve self <: t_I16) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I16 #FStar.Tactics.Typeclasses.solve rhs <: t_I16) - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Cmp.t_Ordering) =. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering)); - f_ne_pre = (fun (self: t_I16) (rhs: t_I16) -> true); - f_ne_post = (fun (self: t_I16) (rhs: t_I16) (out: bool) -> true); - f_ne - = - fun (self: t_I16) (rhs: t_I16) -> - (Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I16 #FStar.Tactics.Typeclasses.solve self <: t_I16) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I16 #FStar.Tactics.Typeclasses.solve rhs <: t_I16) - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Cmp.t_Ordering) <>. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_95: Core.Cmp.t_PartialOrd t_I16 t_I16 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_I16) (rhs: t_I16) -> true); - f_partial_cmp_post - = - (fun (self: t_I16) (rhs: t_I16) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_I16) (rhs: t_I16) -> - Core.Option.Option_Some - (Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I16 #FStar.Tactics.Typeclasses.solve self <: t_I16) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I16 #FStar.Tactics.Typeclasses.solve rhs <: t_I16) - <: - Core.Base.Spec.Z.t_Z)) - <: - Core.Option.t_Option Core.Cmp.t_Ordering); - f_lt_pre = (fun (self: t_I16) (rhs: t_I16) -> true); - f_lt_post = (fun (self: t_I16) (rhs: t_I16) (out: bool) -> true); - f_lt - = - (fun (self: t_I16) (rhs: t_I16) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I16 #FStar.Tactics.Typeclasses.solve self <: t_I16) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I16 #FStar.Tactics.Typeclasses.solve rhs <: t_I16) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Less -> true - | _ -> false); - f_le_pre = (fun (self: t_I16) (rhs: t_I16) -> true); - f_le_post = (fun (self: t_I16) (rhs: t_I16) (out: bool) -> true); - f_le - = - (fun (self: t_I16) (rhs: t_I16) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I16 #FStar.Tactics.Typeclasses.solve self <: t_I16) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I16 #FStar.Tactics.Typeclasses.solve rhs <: t_I16) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Less | Core.Cmp.Ordering_Equal -> true - | _ -> false); - f_gt_pre = (fun (self: t_I16) (rhs: t_I16) -> true); - f_gt_post = (fun (self: t_I16) (rhs: t_I16) (out: bool) -> true); - f_gt - = - (fun (self: t_I16) (rhs: t_I16) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I16 #FStar.Tactics.Typeclasses.solve self <: t_I16) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I16 #FStar.Tactics.Typeclasses.solve rhs <: t_I16) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Greater -> true - | _ -> false); - f_ge_pre = (fun (self: t_I16) (rhs: t_I16) -> true); - f_ge_post = (fun (self: t_I16) (rhs: t_I16) (out: bool) -> true); - f_ge - = - fun (self: t_I16) (rhs: t_I16) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I16 #FStar.Tactics.Typeclasses.solve self <: t_I16) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I16 #FStar.Tactics.Typeclasses.solve rhs <: t_I16) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Greater | Core.Cmp.Ordering_Equal -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_98: Core.Base_interface.Coerce.t_Abstraction t_I8 = - { - f_AbstractType = Core.Base.Spec.Z.t_Z; - f_lift_pre = (fun (self: t_I8) -> true); - f_lift_post = (fun (self: t_I8) (out: Core.Base.Spec.Z.t_Z) -> true); - f_lift = fun (self: t_I8) -> self.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_20: Core.Convert.t_From t_I16 t_I8 = - { - f_from_pre = (fun (x: t_I8) -> true); - f_from_post = (fun (x: t_I8) (out: t_I16) -> true); - f_from - = - fun (x: t_I8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I8 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_21: Core.Convert.t_From t_I32 t_I8 = - { - f_from_pre = (fun (x: t_I8) -> true); - f_from_post = (fun (x: t_I8) (out: t_I32) -> true); - f_from - = - fun (x: t_I8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I8 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_22: Core.Convert.t_From t_I64 t_I8 = - { - f_from_pre = (fun (x: t_I8) -> true); - f_from_post = (fun (x: t_I8) (out: t_I64) -> true); - f_from - = - fun (x: t_I8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I8 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_23: Core.Convert.t_From t_I128 t_I8 = - { - f_from_pre = (fun (x: t_I8) -> true); - f_from_post = (fun (x: t_I8) (out: t_I128) -> true); - f_from - = - fun (x: t_I8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_I8 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_108: Core.Cmp.t_PartialEq t_I8 t_I8 = - { - f_eq_pre = (fun (self: t_I8) (rhs: t_I8) -> true); - f_eq_post = (fun (self: t_I8) (rhs: t_I8) (out: bool) -> true); - f_eq - = - (fun (self: t_I8) (rhs: t_I8) -> - (Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I8 #FStar.Tactics.Typeclasses.solve self <: t_I8) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I8 #FStar.Tactics.Typeclasses.solve rhs <: t_I8) - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Cmp.t_Ordering) =. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering)); - f_ne_pre = (fun (self: t_I8) (rhs: t_I8) -> true); - f_ne_post = (fun (self: t_I8) (rhs: t_I8) (out: bool) -> true); - f_ne - = - fun (self: t_I8) (rhs: t_I8) -> - (Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I8 #FStar.Tactics.Typeclasses.solve self <: t_I8) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I8 #FStar.Tactics.Typeclasses.solve rhs <: t_I8) - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Cmp.t_Ordering) <>. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_109: Core.Cmp.t_PartialOrd t_I8 t_I8 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_I8) (rhs: t_I8) -> true); - f_partial_cmp_post - = - (fun (self: t_I8) (rhs: t_I8) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_I8) (rhs: t_I8) -> - Core.Option.Option_Some - (Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I8 #FStar.Tactics.Typeclasses.solve self <: t_I8) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I8 #FStar.Tactics.Typeclasses.solve rhs <: t_I8) - <: - Core.Base.Spec.Z.t_Z)) - <: - Core.Option.t_Option Core.Cmp.t_Ordering); - f_lt_pre = (fun (self: t_I8) (rhs: t_I8) -> true); - f_lt_post = (fun (self: t_I8) (rhs: t_I8) (out: bool) -> true); - f_lt - = - (fun (self: t_I8) (rhs: t_I8) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I8 #FStar.Tactics.Typeclasses.solve self <: t_I8) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I8 #FStar.Tactics.Typeclasses.solve rhs <: t_I8) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Less -> true - | _ -> false); - f_le_pre = (fun (self: t_I8) (rhs: t_I8) -> true); - f_le_post = (fun (self: t_I8) (rhs: t_I8) (out: bool) -> true); - f_le - = - (fun (self: t_I8) (rhs: t_I8) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I8 #FStar.Tactics.Typeclasses.solve self <: t_I8) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I8 #FStar.Tactics.Typeclasses.solve rhs <: t_I8) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Less | Core.Cmp.Ordering_Equal -> true - | _ -> false); - f_gt_pre = (fun (self: t_I8) (rhs: t_I8) -> true); - f_gt_post = (fun (self: t_I8) (rhs: t_I8) (out: bool) -> true); - f_gt - = - (fun (self: t_I8) (rhs: t_I8) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I8 #FStar.Tactics.Typeclasses.solve self <: t_I8) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I8 #FStar.Tactics.Typeclasses.solve rhs <: t_I8) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Greater -> true - | _ -> false); - f_ge_pre = (fun (self: t_I8) (rhs: t_I8) -> true); - f_ge_post = (fun (self: t_I8) (rhs: t_I8) (out: bool) -> true); - f_ge - = - fun (self: t_I8) (rhs: t_I8) -> - match - Core.Base.Z.z_cmp (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I8 #FStar.Tactics.Typeclasses.solve self <: t_I8) - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_I8 #FStar.Tactics.Typeclasses.solve rhs <: t_I8) - <: - Core.Base.Spec.Z.t_Z) - with - | Core.Cmp.Ordering_Greater | Core.Cmp.Ordering_Equal -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_112: Core.Base_interface.Coerce.t_Abstraction t_U128 = - { - f_AbstractType = Core.Base.Spec.Haxint.t_HaxInt; - f_lift_pre = (fun (self: t_U128) -> true); - f_lift_post = (fun (self: t_U128) (out: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_lift = fun (self: t_U128) -> self.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_135: Core.Cmp.t_PartialEq t_U128 t_U128 = - { - f_eq_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_eq_post = (fun (self: t_U128) (rhs: t_U128) (out: bool) -> true); - f_eq - = - (fun (self: t_U128) (rhs: t_U128) -> - (Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U128 #FStar.Tactics.Typeclasses.solve self <: t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U128 #FStar.Tactics.Typeclasses.solve rhs <: t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Cmp.t_Ordering) =. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering)); - f_ne_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_ne_post = (fun (self: t_U128) (rhs: t_U128) (out: bool) -> true); - f_ne - = - fun (self: t_U128) (rhs: t_U128) -> - (Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U128 #FStar.Tactics.Typeclasses.solve self <: t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U128 #FStar.Tactics.Typeclasses.solve rhs <: t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Cmp.t_Ordering) <>. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_136: Core.Cmp.t_PartialOrd t_U128 t_U128 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_partial_cmp_post - = - (fun (self: t_U128) (rhs: t_U128) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_U128) (rhs: t_U128) -> - Core.Option.Option_Some - (Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U128 #FStar.Tactics.Typeclasses.solve self <: t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U128 #FStar.Tactics.Typeclasses.solve rhs <: t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt)) - <: - Core.Option.t_Option Core.Cmp.t_Ordering); - f_lt_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_lt_post = (fun (self: t_U128) (rhs: t_U128) (out: bool) -> true); - f_lt - = - (fun (self: t_U128) (rhs: t_U128) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U128 #FStar.Tactics.Typeclasses.solve self <: t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U128 #FStar.Tactics.Typeclasses.solve rhs <: t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Less -> true - | _ -> false); - f_le_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_le_post = (fun (self: t_U128) (rhs: t_U128) (out: bool) -> true); - f_le - = - (fun (self: t_U128) (rhs: t_U128) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U128 #FStar.Tactics.Typeclasses.solve self <: t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U128 #FStar.Tactics.Typeclasses.solve rhs <: t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Less | Core.Cmp.Ordering_Equal -> true - | _ -> false); - f_gt_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_gt_post = (fun (self: t_U128) (rhs: t_U128) (out: bool) -> true); - f_gt - = - (fun (self: t_U128) (rhs: t_U128) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U128 #FStar.Tactics.Typeclasses.solve self <: t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U128 #FStar.Tactics.Typeclasses.solve rhs <: t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Greater -> true - | _ -> false); - f_ge_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_ge_post = (fun (self: t_U128) (rhs: t_U128) (out: bool) -> true); - f_ge - = - fun (self: t_U128) (rhs: t_U128) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U128 #FStar.Tactics.Typeclasses.solve self <: t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U128 #FStar.Tactics.Typeclasses.solve rhs <: t_U128) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Greater | Core.Cmp.Ordering_Equal -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_139: Core.Base_interface.Coerce.t_Abstraction t_U64 = - { - f_AbstractType = Core.Base.Spec.Haxint.t_HaxInt; - f_lift_pre = (fun (self: t_U64) -> true); - f_lift_post = (fun (self: t_U64) (out: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_lift = fun (self: t_U64) -> self.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_162: Core.Cmp.t_PartialEq t_U64 t_U64 = - { - f_eq_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_eq_post = (fun (self: t_U64) (rhs: t_U64) (out: bool) -> true); - f_eq - = - (fun (self: t_U64) (rhs: t_U64) -> - (Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U64 #FStar.Tactics.Typeclasses.solve self <: t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U64 #FStar.Tactics.Typeclasses.solve rhs <: t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Cmp.t_Ordering) =. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering)); - f_ne_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_ne_post = (fun (self: t_U64) (rhs: t_U64) (out: bool) -> true); - f_ne - = - fun (self: t_U64) (rhs: t_U64) -> - (Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U64 #FStar.Tactics.Typeclasses.solve self <: t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U64 #FStar.Tactics.Typeclasses.solve rhs <: t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Cmp.t_Ordering) <>. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_163: Core.Cmp.t_PartialOrd t_U64 t_U64 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_partial_cmp_post - = - (fun (self: t_U64) (rhs: t_U64) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_U64) (rhs: t_U64) -> - Core.Option.Option_Some - (Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U64 #FStar.Tactics.Typeclasses.solve self <: t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U64 #FStar.Tactics.Typeclasses.solve rhs <: t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt)) - <: - Core.Option.t_Option Core.Cmp.t_Ordering); - f_lt_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_lt_post = (fun (self: t_U64) (rhs: t_U64) (out: bool) -> true); - f_lt - = - (fun (self: t_U64) (rhs: t_U64) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U64 #FStar.Tactics.Typeclasses.solve self <: t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U64 #FStar.Tactics.Typeclasses.solve rhs <: t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Less -> true - | _ -> false); - f_le_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_le_post = (fun (self: t_U64) (rhs: t_U64) (out: bool) -> true); - f_le - = - (fun (self: t_U64) (rhs: t_U64) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U64 #FStar.Tactics.Typeclasses.solve self <: t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U64 #FStar.Tactics.Typeclasses.solve rhs <: t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Less | Core.Cmp.Ordering_Equal -> true - | _ -> false); - f_gt_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_gt_post = (fun (self: t_U64) (rhs: t_U64) (out: bool) -> true); - f_gt - = - (fun (self: t_U64) (rhs: t_U64) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U64 #FStar.Tactics.Typeclasses.solve self <: t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U64 #FStar.Tactics.Typeclasses.solve rhs <: t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Greater -> true - | _ -> false); - f_ge_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_ge_post = (fun (self: t_U64) (rhs: t_U64) (out: bool) -> true); - f_ge - = - fun (self: t_U64) (rhs: t_U64) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U64 #FStar.Tactics.Typeclasses.solve self <: t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U64 #FStar.Tactics.Typeclasses.solve rhs <: t_U64) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Greater | Core.Cmp.Ordering_Equal -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_166: Core.Base_interface.Coerce.t_Abstraction t_U32 = - { - f_AbstractType = Core.Base.Spec.Haxint.t_HaxInt; - f_lift_pre = (fun (self: t_U32) -> true); - f_lift_post = (fun (self: t_U32) (out: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_lift = fun (self: t_U32) -> self.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_189: Core.Cmp.t_PartialEq t_U32 t_U32 = - { - f_eq_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_eq_post = (fun (self: t_U32) (rhs: t_U32) (out: bool) -> true); - f_eq - = - (fun (self: t_U32) (rhs: t_U32) -> - (Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U32 #FStar.Tactics.Typeclasses.solve self <: t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U32 #FStar.Tactics.Typeclasses.solve rhs <: t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Cmp.t_Ordering) =. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering)); - f_ne_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_ne_post = (fun (self: t_U32) (rhs: t_U32) (out: bool) -> true); - f_ne - = - fun (self: t_U32) (rhs: t_U32) -> - (Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U32 #FStar.Tactics.Typeclasses.solve self <: t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U32 #FStar.Tactics.Typeclasses.solve rhs <: t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Cmp.t_Ordering) <>. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_190: Core.Cmp.t_PartialOrd t_U32 t_U32 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_partial_cmp_post - = - (fun (self: t_U32) (rhs: t_U32) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_U32) (rhs: t_U32) -> - Core.Option.Option_Some - (Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U32 #FStar.Tactics.Typeclasses.solve self <: t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U32 #FStar.Tactics.Typeclasses.solve rhs <: t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt)) - <: - Core.Option.t_Option Core.Cmp.t_Ordering); - f_lt_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_lt_post = (fun (self: t_U32) (rhs: t_U32) (out: bool) -> true); - f_lt - = - (fun (self: t_U32) (rhs: t_U32) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U32 #FStar.Tactics.Typeclasses.solve self <: t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U32 #FStar.Tactics.Typeclasses.solve rhs <: t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Less -> true - | _ -> false); - f_le_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_le_post = (fun (self: t_U32) (rhs: t_U32) (out: bool) -> true); - f_le - = - (fun (self: t_U32) (rhs: t_U32) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U32 #FStar.Tactics.Typeclasses.solve self <: t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U32 #FStar.Tactics.Typeclasses.solve rhs <: t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Less | Core.Cmp.Ordering_Equal -> true - | _ -> false); - f_gt_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_gt_post = (fun (self: t_U32) (rhs: t_U32) (out: bool) -> true); - f_gt - = - (fun (self: t_U32) (rhs: t_U32) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U32 #FStar.Tactics.Typeclasses.solve self <: t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U32 #FStar.Tactics.Typeclasses.solve rhs <: t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Greater -> true - | _ -> false); - f_ge_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_ge_post = (fun (self: t_U32) (rhs: t_U32) (out: bool) -> true); - f_ge - = - fun (self: t_U32) (rhs: t_U32) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U32 #FStar.Tactics.Typeclasses.solve self <: t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U32 #FStar.Tactics.Typeclasses.solve rhs <: t_U32) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Greater | Core.Cmp.Ordering_Equal -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_193: Core.Base_interface.Coerce.t_Abstraction t_U16 = - { - f_AbstractType = Core.Base.Spec.Haxint.t_HaxInt; - f_lift_pre = (fun (self: t_U16) -> true); - f_lift_post = (fun (self: t_U16) (out: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_lift = fun (self: t_U16) -> self.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_216: Core.Cmp.t_PartialEq t_U16 t_U16 = - { - f_eq_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_eq_post = (fun (self: t_U16) (rhs: t_U16) (out: bool) -> true); - f_eq - = - (fun (self: t_U16) (rhs: t_U16) -> - (Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U16 #FStar.Tactics.Typeclasses.solve self <: t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U16 #FStar.Tactics.Typeclasses.solve rhs <: t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Cmp.t_Ordering) =. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering)); - f_ne_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_ne_post = (fun (self: t_U16) (rhs: t_U16) (out: bool) -> true); - f_ne - = - fun (self: t_U16) (rhs: t_U16) -> - (Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U16 #FStar.Tactics.Typeclasses.solve self <: t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U16 #FStar.Tactics.Typeclasses.solve rhs <: t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Cmp.t_Ordering) <>. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_217: Core.Cmp.t_PartialOrd t_U16 t_U16 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_partial_cmp_post - = - (fun (self: t_U16) (rhs: t_U16) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_U16) (rhs: t_U16) -> - Core.Option.Option_Some - (Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U16 #FStar.Tactics.Typeclasses.solve self <: t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U16 #FStar.Tactics.Typeclasses.solve rhs <: t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt)) - <: - Core.Option.t_Option Core.Cmp.t_Ordering); - f_lt_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_lt_post = (fun (self: t_U16) (rhs: t_U16) (out: bool) -> true); - f_lt - = - (fun (self: t_U16) (rhs: t_U16) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U16 #FStar.Tactics.Typeclasses.solve self <: t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U16 #FStar.Tactics.Typeclasses.solve rhs <: t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Less -> true - | _ -> false); - f_le_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_le_post = (fun (self: t_U16) (rhs: t_U16) (out: bool) -> true); - f_le - = - (fun (self: t_U16) (rhs: t_U16) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U16 #FStar.Tactics.Typeclasses.solve self <: t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U16 #FStar.Tactics.Typeclasses.solve rhs <: t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Less | Core.Cmp.Ordering_Equal -> true - | _ -> false); - f_gt_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_gt_post = (fun (self: t_U16) (rhs: t_U16) (out: bool) -> true); - f_gt - = - (fun (self: t_U16) (rhs: t_U16) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U16 #FStar.Tactics.Typeclasses.solve self <: t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U16 #FStar.Tactics.Typeclasses.solve rhs <: t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Greater -> true - | _ -> false); - f_ge_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_ge_post = (fun (self: t_U16) (rhs: t_U16) (out: bool) -> true); - f_ge - = - fun (self: t_U16) (rhs: t_U16) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U16 #FStar.Tactics.Typeclasses.solve self <: t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U16 #FStar.Tactics.Typeclasses.solve rhs <: t_U16) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Greater | Core.Cmp.Ordering_Equal -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_220: Core.Base_interface.Coerce.t_Abstraction t_U8 = - { - f_AbstractType = Core.Base.Spec.Haxint.t_HaxInt; - f_lift_pre = (fun (self: t_U8) -> true); - f_lift_post = (fun (self: t_U8) (out: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_lift = fun (self: t_U8) -> self.f_v - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_243: Core.Cmp.t_PartialEq t_U8 t_U8 = - { - f_eq_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_eq_post = (fun (self: t_U8) (rhs: t_U8) (out: bool) -> true); - f_eq - = - (fun (self: t_U8) (rhs: t_U8) -> - (Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U8 #FStar.Tactics.Typeclasses.solve self <: t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U8 #FStar.Tactics.Typeclasses.solve rhs <: t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Cmp.t_Ordering) =. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering)); - f_ne_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_ne_post = (fun (self: t_U8) (rhs: t_U8) (out: bool) -> true); - f_ne - = - fun (self: t_U8) (rhs: t_U8) -> - (Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U8 #FStar.Tactics.Typeclasses.solve self <: t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U8 #FStar.Tactics.Typeclasses.solve rhs <: t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Cmp.t_Ordering) <>. - (Core.Cmp.Ordering_Equal <: Core.Cmp.t_Ordering) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_244: Core.Cmp.t_PartialOrd t_U8 t_U8 = - { - _super_9014672428308350468 = FStar.Tactics.Typeclasses.solve; - f_partial_cmp_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_partial_cmp_post - = - (fun (self: t_U8) (rhs: t_U8) (out: Core.Option.t_Option Core.Cmp.t_Ordering) -> true); - f_partial_cmp - = - (fun (self: t_U8) (rhs: t_U8) -> - Core.Option.Option_Some - (Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U8 #FStar.Tactics.Typeclasses.solve self <: t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U8 #FStar.Tactics.Typeclasses.solve rhs <: t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt)) - <: - Core.Option.t_Option Core.Cmp.t_Ordering); - f_lt_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_lt_post = (fun (self: t_U8) (rhs: t_U8) (out: bool) -> true); - f_lt - = - (fun (self: t_U8) (rhs: t_U8) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U8 #FStar.Tactics.Typeclasses.solve self <: t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U8 #FStar.Tactics.Typeclasses.solve rhs <: t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Less -> true - | _ -> false); - f_le_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_le_post = (fun (self: t_U8) (rhs: t_U8) (out: bool) -> true); - f_le - = - (fun (self: t_U8) (rhs: t_U8) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U8 #FStar.Tactics.Typeclasses.solve self <: t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U8 #FStar.Tactics.Typeclasses.solve rhs <: t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Less | Core.Cmp.Ordering_Equal -> true - | _ -> false); - f_gt_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_gt_post = (fun (self: t_U8) (rhs: t_U8) (out: bool) -> true); - f_gt - = - (fun (self: t_U8) (rhs: t_U8) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U8 #FStar.Tactics.Typeclasses.solve self <: t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U8 #FStar.Tactics.Typeclasses.solve rhs <: t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Greater -> true - | _ -> false); - f_ge_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_ge_post = (fun (self: t_U8) (rhs: t_U8) (out: bool) -> true); - f_ge - = - fun (self: t_U8) (rhs: t_U8) -> - match - Core.Base.Pos.haxint_cmp (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U8 #FStar.Tactics.Typeclasses.solve self <: t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Clone.f_clone #t_U8 #FStar.Tactics.Typeclasses.solve rhs <: t_U8) - <: - Core.Base.Spec.Haxint.t_HaxInt) - with - | Core.Cmp.Ordering_Greater | Core.Cmp.Ordering_Equal -> true - | _ -> false - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_48: Core.Ops.Arith.t_Neg t_I128 = - { - f_Output = t_I128; - f_neg_pre = (fun (self: t_I128) -> true); - f_neg_post = (fun (self: t_I128) (out: t_I128) -> true); - f_neg - = - fun (self: t_I128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_neg (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_50: Core.Ops.Bit.t_BitOr t_I128 t_I128 = - { - f_Output = t_I128; - f_bitor_pre = (fun (self: t_I128) (rhs: t_I128) -> true); - f_bitor_post = (fun (self: t_I128) (rhs: t_I128) (out: t_I128) -> true); - f_bitor - = - fun (self: t_I128) (rhs: t_I128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_bitor (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_62: Core.Ops.Arith.t_Neg t_I64 = - { - f_Output = t_I64; - f_neg_pre = (fun (self: t_I64) -> true); - f_neg_post = (fun (self: t_I64) (out: t_I64) -> true); - f_neg - = - fun (self: t_I64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_neg (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_64: Core.Ops.Bit.t_BitOr t_I64 t_I64 = - { - f_Output = t_I64; - f_bitor_pre = (fun (self: t_I64) (rhs: t_I64) -> true); - f_bitor_post = (fun (self: t_I64) (rhs: t_I64) (out: t_I64) -> true); - f_bitor - = - fun (self: t_I64) (rhs: t_I64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_bitor (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_76: Core.Ops.Arith.t_Neg t_I32 = - { - f_Output = t_I32; - f_neg_pre = (fun (self: t_I32) -> true); - f_neg_post = (fun (self: t_I32) (out: t_I32) -> true); - f_neg - = - fun (self: t_I32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_neg (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_78: Core.Ops.Bit.t_BitOr t_I32 t_I32 = - { - f_Output = t_I32; - f_bitor_pre = (fun (self: t_I32) (rhs: t_I32) -> true); - f_bitor_post = (fun (self: t_I32) (rhs: t_I32) (out: t_I32) -> true); - f_bitor - = - fun (self: t_I32) (rhs: t_I32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_bitor (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_90: Core.Ops.Arith.t_Neg t_I16 = - { - f_Output = t_I16; - f_neg_pre = (fun (self: t_I16) -> true); - f_neg_post = (fun (self: t_I16) (out: t_I16) -> true); - f_neg - = - fun (self: t_I16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_neg (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_92: Core.Ops.Bit.t_BitOr t_I16 t_I16 = - { - f_Output = t_I16; - f_bitor_pre = (fun (self: t_I16) (rhs: t_I16) -> true); - f_bitor_post = (fun (self: t_I16) (rhs: t_I16) (out: t_I16) -> true); - f_bitor - = - fun (self: t_I16) (rhs: t_I16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_bitor (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_104: Core.Ops.Arith.t_Neg t_I8 = - { - f_Output = t_I8; - f_neg_pre = (fun (self: t_I8) -> true); - f_neg_post = (fun (self: t_I8) (out: t_I8) -> true); - f_neg - = - fun (self: t_I8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_neg (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_106: Core.Ops.Bit.t_BitOr t_I8 t_I8 = - { - f_Output = t_I8; - f_bitor_pre = (fun (self: t_I8) (rhs: t_I8) -> true); - f_bitor_post = (fun (self: t_I8) (rhs: t_I8) (out: t_I8) -> true); - f_bitor - = - fun (self: t_I8) (rhs: t_I8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_bitor (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_46: Core.Ops.Arith.t_Add t_I128 t_I128 = - { - f_Output = t_I128; - f_add_pre = (fun (self: t_I128) (rhs: t_I128) -> true); - f_add_post = (fun (self: t_I128) (rhs: t_I128) (out: t_I128) -> true); - f_add - = - fun (self: t_I128) (rhs: t_I128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_49: Core.Ops.Arith.t_Sub t_I128 t_I128 = - { - f_Output = t_I128; - f_sub_pre = (fun (self: t_I128) (rhs: t_I128) -> true); - f_sub_post = (fun (self: t_I128) (rhs: t_I128) (out: t_I128) -> true); - f_sub - = - fun (self: t_I128) (rhs: t_I128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_sub (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_60: Core.Ops.Arith.t_Add t_I64 t_I64 = - { - f_Output = t_I64; - f_add_pre = (fun (self: t_I64) (rhs: t_I64) -> true); - f_add_post = (fun (self: t_I64) (rhs: t_I64) (out: t_I64) -> true); - f_add - = - fun (self: t_I64) (rhs: t_I64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_63: Core.Ops.Arith.t_Sub t_I64 t_I64 = - { - f_Output = t_I64; - f_sub_pre = (fun (self: t_I64) (rhs: t_I64) -> true); - f_sub_post = (fun (self: t_I64) (rhs: t_I64) (out: t_I64) -> true); - f_sub - = - fun (self: t_I64) (rhs: t_I64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_sub (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_74: Core.Ops.Arith.t_Add t_I32 t_I32 = - { - f_Output = t_I32; - f_add_pre = (fun (self: t_I32) (rhs: t_I32) -> true); - f_add_post = (fun (self: t_I32) (rhs: t_I32) (out: t_I32) -> true); - f_add - = - fun (self: t_I32) (rhs: t_I32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_77: Core.Ops.Arith.t_Sub t_I32 t_I32 = - { - f_Output = t_I32; - f_sub_pre = (fun (self: t_I32) (rhs: t_I32) -> true); - f_sub_post = (fun (self: t_I32) (rhs: t_I32) (out: t_I32) -> true); - f_sub - = - fun (self: t_I32) (rhs: t_I32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_sub (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_88: Core.Ops.Arith.t_Add t_I16 t_I16 = - { - f_Output = t_I16; - f_add_pre = (fun (self: t_I16) (rhs: t_I16) -> true); - f_add_post = (fun (self: t_I16) (rhs: t_I16) (out: t_I16) -> true); - f_add - = - fun (self: t_I16) (rhs: t_I16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_91: Core.Ops.Arith.t_Sub t_I16 t_I16 = - { - f_Output = t_I16; - f_sub_pre = (fun (self: t_I16) (rhs: t_I16) -> true); - f_sub_post = (fun (self: t_I16) (rhs: t_I16) (out: t_I16) -> true); - f_sub - = - fun (self: t_I16) (rhs: t_I16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_sub (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_102: Core.Ops.Arith.t_Add t_I8 t_I8 = - { - f_Output = t_I8; - f_add_pre = (fun (self: t_I8) (rhs: t_I8) -> true); - f_add_post = (fun (self: t_I8) (rhs: t_I8) (out: t_I8) -> true); - f_add - = - fun (self: t_I8) (rhs: t_I8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_add (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_105: Core.Ops.Arith.t_Sub t_I8 t_I8 = - { - f_Output = t_I8; - f_sub_pre = (fun (self: t_I8) (rhs: t_I8) -> true); - f_sub_post = (fun (self: t_I8) (rhs: t_I8) (out: t_I8) -> true); - f_sub - = - fun (self: t_I8) (rhs: t_I8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_sub (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_113: Core.Base_interface.Coerce.t_Concretization Core.Base.Spec.Haxint.t_HaxInt t_U128 = - { - f_concretize_pre = (fun (self: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_concretize_post = (fun (self: Core.Base.Spec.Haxint.t_HaxInt) (out: t_U128) -> true); - f_concretize - = - fun (self: Core.Base.Spec.Haxint.t_HaxInt) -> - { f_v = Core.Base.Pos.haxint_rem self Core.Base.Spec.Constants.v_WORDSIZE_128_ } <: t_U128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_3: Core.Convert.t_From t_U128 t_U8 = - { - f_from_pre = (fun (x: t_U8) -> true); - f_from_post = (fun (x: t_U8) (out: t_U128) -> true); - f_from - = - fun (x: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_7: Core.Convert.t_From t_U128 t_U16 = - { - f_from_pre = (fun (x: t_U16) -> true); - f_from_post = (fun (x: t_U16) (out: t_U128) -> true); - f_from - = - fun (x: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_11: Core.Convert.t_From t_U128 t_U32 = - { - f_from_pre = (fun (x: t_U32) -> true); - f_from_post = (fun (x: t_U32) (out: t_U128) -> true); - f_from - = - fun (x: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_15: Core.Convert.t_From t_U128 t_U64 = - { - f_from_pre = (fun (x: t_U64) -> true); - f_from_post = (fun (x: t_U64) (out: t_U128) -> true); - f_from - = - fun (x: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_140: Core.Base_interface.Coerce.t_Concretization Core.Base.Spec.Haxint.t_HaxInt t_U64 = - { - f_concretize_pre = (fun (self: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_concretize_post = (fun (self: Core.Base.Spec.Haxint.t_HaxInt) (out: t_U64) -> true); - f_concretize - = - fun (self: Core.Base.Spec.Haxint.t_HaxInt) -> - { f_v = Core.Base.Pos.haxint_rem self Core.Base.Spec.Constants.v_WORDSIZE_64_ } <: t_U64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_2: Core.Convert.t_From t_U64 t_U8 = - { - f_from_pre = (fun (x: t_U8) -> true); - f_from_post = (fun (x: t_U8) (out: t_U64) -> true); - f_from - = - fun (x: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_6: Core.Convert.t_From t_U64 t_U16 = - { - f_from_pre = (fun (x: t_U16) -> true); - f_from_post = (fun (x: t_U16) (out: t_U64) -> true); - f_from - = - fun (x: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_10: Core.Convert.t_From t_U64 t_U32 = - { - f_from_pre = (fun (x: t_U32) -> true); - f_from_post = (fun (x: t_U32) (out: t_U64) -> true); - f_from - = - fun (x: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_19: Core.Convert.t_From t_U64 t_U128 = - { - f_from_pre = (fun (x: t_U128) -> true); - f_from_post = (fun (x: t_U128) (out: t_U64) -> true); - f_from - = - fun (x: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_167: Core.Base_interface.Coerce.t_Concretization Core.Base.Spec.Haxint.t_HaxInt t_U32 = - { - f_concretize_pre = (fun (self: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_concretize_post = (fun (self: Core.Base.Spec.Haxint.t_HaxInt) (out: t_U32) -> true); - f_concretize - = - fun (self: Core.Base.Spec.Haxint.t_HaxInt) -> - { f_v = Core.Base.Pos.haxint_rem self Core.Base.Spec.Constants.v_WORDSIZE_32_ } <: t_U32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_1: Core.Convert.t_From t_U32 t_U8 = - { - f_from_pre = (fun (x: t_U8) -> true); - f_from_post = (fun (x: t_U8) (out: t_U32) -> true); - f_from - = - fun (x: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_5: Core.Convert.t_From t_U32 t_U16 = - { - f_from_pre = (fun (x: t_U16) -> true); - f_from_post = (fun (x: t_U16) (out: t_U32) -> true); - f_from - = - fun (x: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_14: Core.Convert.t_From t_U32 t_U64 = - { - f_from_pre = (fun (x: t_U64) -> true); - f_from_post = (fun (x: t_U64) (out: t_U32) -> true); - f_from - = - fun (x: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_18: Core.Convert.t_From t_U32 t_U128 = - { - f_from_pre = (fun (x: t_U128) -> true); - f_from_post = (fun (x: t_U128) (out: t_U32) -> true); - f_from - = - fun (x: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_194: Core.Base_interface.Coerce.t_Concretization Core.Base.Spec.Haxint.t_HaxInt t_U16 = - { - f_concretize_pre = (fun (self: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_concretize_post = (fun (self: Core.Base.Spec.Haxint.t_HaxInt) (out: t_U16) -> true); - f_concretize - = - fun (self: Core.Base.Spec.Haxint.t_HaxInt) -> - { f_v = Core.Base.Pos.haxint_rem self Core.Base.Spec.Constants.v_WORDSIZE_16_ } <: t_U16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl: Core.Convert.t_From t_U16 t_U8 = - { - f_from_pre = (fun (x: t_U8) -> true); - f_from_post = (fun (x: t_U8) (out: t_U16) -> true); - f_from - = - fun (x: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_9: Core.Convert.t_From t_U16 t_U32 = - { - f_from_pre = (fun (x: t_U32) -> true); - f_from_post = (fun (x: t_U32) (out: t_U16) -> true); - f_from - = - fun (x: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_13: Core.Convert.t_From t_U16 t_U64 = - { - f_from_pre = (fun (x: t_U64) -> true); - f_from_post = (fun (x: t_U64) (out: t_U16) -> true); - f_from - = - fun (x: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_17: Core.Convert.t_From t_U16 t_U128 = - { - f_from_pre = (fun (x: t_U128) -> true); - f_from_post = (fun (x: t_U128) (out: t_U16) -> true); - f_from - = - fun (x: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_221: Core.Base_interface.Coerce.t_Concretization Core.Base.Spec.Haxint.t_HaxInt t_U8 = - { - f_concretize_pre = (fun (self: Core.Base.Spec.Haxint.t_HaxInt) -> true); - f_concretize_post = (fun (self: Core.Base.Spec.Haxint.t_HaxInt) (out: t_U8) -> true); - f_concretize - = - fun (self: Core.Base.Spec.Haxint.t_HaxInt) -> - { f_v = Core.Base.Pos.haxint_rem self Core.Base.Spec.Constants.v_WORDSIZE_8_ } <: t_U8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_4: Core.Convert.t_From t_U8 t_U16 = - { - f_from_pre = (fun (x: t_U16) -> true); - f_from_post = (fun (x: t_U16) (out: t_U8) -> true); - f_from - = - fun (x: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_8: Core.Convert.t_From t_U8 t_U32 = - { - f_from_pre = (fun (x: t_U32) -> true); - f_from_post = (fun (x: t_U32) (out: t_U8) -> true); - f_from - = - fun (x: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_12: Core.Convert.t_From t_U8 t_U64 = - { - f_from_pre = (fun (x: t_U64) -> true); - f_from_post = (fun (x: t_U64) (out: t_U8) -> true); - f_from - = - fun (x: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_16: Core.Convert.t_From t_U8 t_U128 = - { - f_from_pre = (fun (x: t_U128) -> true); - f_from_post = (fun (x: t_U128) (out: t_U8) -> true); - f_from - = - fun (x: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve x - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_44: Core.Ops.Arith.t_Mul t_I128 t_I128 = - { - f_Output = t_I128; - f_mul_pre = (fun (self: t_I128) (rhs: t_I128) -> true); - f_mul_post = (fun (self: t_I128) (rhs: t_I128) (out: t_I128) -> true); - f_mul - = - fun (self: t_I128) (rhs: t_I128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_mul (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_58: Core.Ops.Arith.t_Mul t_I64 t_I64 = - { - f_Output = t_I64; - f_mul_pre = (fun (self: t_I64) (rhs: t_I64) -> true); - f_mul_post = (fun (self: t_I64) (rhs: t_I64) (out: t_I64) -> true); - f_mul - = - fun (self: t_I64) (rhs: t_I64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_mul (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_72: Core.Ops.Arith.t_Mul t_I32 t_I32 = - { - f_Output = t_I32; - f_mul_pre = (fun (self: t_I32) (rhs: t_I32) -> true); - f_mul_post = (fun (self: t_I32) (rhs: t_I32) (out: t_I32) -> true); - f_mul - = - fun (self: t_I32) (rhs: t_I32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_mul (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_86: Core.Ops.Arith.t_Mul t_I16 t_I16 = - { - f_Output = t_I16; - f_mul_pre = (fun (self: t_I16) (rhs: t_I16) -> true); - f_mul_post = (fun (self: t_I16) (rhs: t_I16) (out: t_I16) -> true); - f_mul - = - fun (self: t_I16) (rhs: t_I16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_mul (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_100: Core.Ops.Arith.t_Mul t_I8 t_I8 = - { - f_Output = t_I8; - f_mul_pre = (fun (self: t_I8) (rhs: t_I8) -> true); - f_mul_post = (fun (self: t_I8) (rhs: t_I8) (out: t_I8) -> true); - f_mul - = - fun (self: t_I8) (rhs: t_I8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_mul (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_114: Core.Ops.Arith.t_Neg t_U128 = - { - f_Output = t_U128; - f_neg_pre = (fun (self: t_U128) -> true); - f_neg_post = (fun (self: t_U128) (out: t_U128) -> true); - f_neg - = - fun (self: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_sub Core.Base.Spec.Constants.v_WORDSIZE_128_ - (Core.Base.Pos.haxint_rem (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - Core.Base.Spec.Constants.v_WORDSIZE_128_ - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_117: Core.Ops.Arith.t_Mul t_U128 t_U128 = - { - f_Output = t_U128; - f_mul_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_mul_post = (fun (self: t_U128) (rhs: t_U128) (out: t_U128) -> true); - f_mul - = - fun (self: t_U128) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_mul (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_118: Core.Ops.Arith.t_Rem t_U128 t_U128 = - { - f_Output = t_U128; - f_rem_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_rem_post = (fun (self: t_U128) (rhs: t_U128) (out: t_U128) -> true); - f_rem - = - fun (self: t_U128) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_rem (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_119: Core.Ops.Arith.t_Add t_U128 t_U128 = - { - f_Output = t_U128; - f_add_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_add_post = (fun (self: t_U128) (rhs: t_U128) (out: t_U128) -> true); - f_add - = - fun (self: t_U128) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_120: Core.Ops.Arith.t_Div t_U128 t_U128 = - { - f_Output = t_U128; - f_div_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_div_post = (fun (self: t_U128) (rhs: t_U128) (out: t_U128) -> true); - f_div - = - fun (self: t_U128) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_div (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_121: Core.Ops.Bit.t_Shl t_U128 t_U8 = - { - f_Output = t_U128; - f_shl_pre = (fun (self: t_U128) (rhs: t_U8) -> true); - f_shl_post = (fun (self: t_U128) (rhs: t_U8) (out: t_U128) -> true); - f_shl - = - fun (self: t_U128) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_122: Core.Ops.Bit.t_Shl t_U128 t_U16 = - { - f_Output = t_U128; - f_shl_pre = (fun (self: t_U128) (rhs: t_U16) -> true); - f_shl_post = (fun (self: t_U128) (rhs: t_U16) (out: t_U128) -> true); - f_shl - = - fun (self: t_U128) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_123: Core.Ops.Bit.t_Shl t_U128 t_U32 = - { - f_Output = t_U128; - f_shl_pre = (fun (self: t_U128) (rhs: t_U32) -> true); - f_shl_post = (fun (self: t_U128) (rhs: t_U32) (out: t_U128) -> true); - f_shl - = - fun (self: t_U128) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_124: Core.Ops.Bit.t_Shl t_U128 t_U64 = - { - f_Output = t_U128; - f_shl_pre = (fun (self: t_U128) (rhs: t_U64) -> true); - f_shl_post = (fun (self: t_U128) (rhs: t_U64) (out: t_U128) -> true); - f_shl - = - fun (self: t_U128) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_125: Core.Ops.Bit.t_Shl t_U128 t_U128 = - { - f_Output = t_U128; - f_shl_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_shl_post = (fun (self: t_U128) (rhs: t_U128) (out: t_U128) -> true); - f_shl - = - fun (self: t_U128) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_126: Core.Ops.Bit.t_Shr t_U128 t_U8 = - { - f_Output = t_U128; - f_shr_pre = (fun (self: t_U128) (rhs: t_U8) -> true); - f_shr_post = (fun (self: t_U128) (rhs: t_U8) (out: t_U128) -> true); - f_shr - = - fun (self: t_U128) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_127: Core.Ops.Bit.t_Shr t_U128 t_U16 = - { - f_Output = t_U128; - f_shr_pre = (fun (self: t_U128) (rhs: t_U16) -> true); - f_shr_post = (fun (self: t_U128) (rhs: t_U16) (out: t_U128) -> true); - f_shr - = - fun (self: t_U128) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_128: Core.Ops.Bit.t_Shr t_U128 t_U32 = - { - f_Output = t_U128; - f_shr_pre = (fun (self: t_U128) (rhs: t_U32) -> true); - f_shr_post = (fun (self: t_U128) (rhs: t_U32) (out: t_U128) -> true); - f_shr - = - fun (self: t_U128) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_129: Core.Ops.Bit.t_Shr t_U128 t_U64 = - { - f_Output = t_U128; - f_shr_pre = (fun (self: t_U128) (rhs: t_U64) -> true); - f_shr_post = (fun (self: t_U128) (rhs: t_U64) (out: t_U128) -> true); - f_shr - = - fun (self: t_U128) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_130: Core.Ops.Bit.t_Shr t_U128 t_U128 = - { - f_Output = t_U128; - f_shr_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_shr_post = (fun (self: t_U128) (rhs: t_U128) (out: t_U128) -> true); - f_shr - = - fun (self: t_U128) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_131: Core.Ops.Bit.t_BitXor t_U128 t_U128 = - { - f_Output = t_U128; - f_bitxor_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_bitxor_post = (fun (self: t_U128) (rhs: t_U128) (out: t_U128) -> true); - f_bitxor - = - fun (self: t_U128) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_bitxor (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_132: Core.Ops.Bit.t_BitAnd t_U128 t_U128 = - { - f_Output = t_U128; - f_bitand_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_bitand_post = (fun (self: t_U128) (rhs: t_U128) (out: t_U128) -> true); - f_bitand - = - fun (self: t_U128) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_bitand (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_133: Core.Ops.Bit.t_BitOr t_U128 t_U128 = - { - f_Output = t_U128; - f_bitor_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_bitor_post = (fun (self: t_U128) (rhs: t_U128) (out: t_U128) -> true); - f_bitor - = - fun (self: t_U128) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_bitor (Core.Base_interface.Coerce.f_lift #t_U128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_141: Core.Ops.Arith.t_Neg t_U64 = - { - f_Output = t_U64; - f_neg_pre = (fun (self: t_U64) -> true); - f_neg_post = (fun (self: t_U64) (out: t_U64) -> true); - f_neg - = - fun (self: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_sub Core.Base.Spec.Constants.v_WORDSIZE_64_ - (Core.Base.Pos.haxint_rem (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - Core.Base.Spec.Constants.v_WORDSIZE_64_ - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_144: Core.Ops.Arith.t_Mul t_U64 t_U64 = - { - f_Output = t_U64; - f_mul_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_mul_post = (fun (self: t_U64) (rhs: t_U64) (out: t_U64) -> true); - f_mul - = - fun (self: t_U64) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_mul (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_145: Core.Ops.Arith.t_Rem t_U64 t_U64 = - { - f_Output = t_U64; - f_rem_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_rem_post = (fun (self: t_U64) (rhs: t_U64) (out: t_U64) -> true); - f_rem - = - fun (self: t_U64) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_rem (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_146: Core.Ops.Arith.t_Add t_U64 t_U64 = - { - f_Output = t_U64; - f_add_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_add_post = (fun (self: t_U64) (rhs: t_U64) (out: t_U64) -> true); - f_add - = - fun (self: t_U64) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_147: Core.Ops.Arith.t_Div t_U64 t_U64 = - { - f_Output = t_U64; - f_div_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_div_post = (fun (self: t_U64) (rhs: t_U64) (out: t_U64) -> true); - f_div - = - fun (self: t_U64) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_div (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_148: Core.Ops.Bit.t_Shl t_U64 t_U8 = - { - f_Output = t_U64; - f_shl_pre = (fun (self: t_U64) (rhs: t_U8) -> true); - f_shl_post = (fun (self: t_U64) (rhs: t_U8) (out: t_U64) -> true); - f_shl - = - fun (self: t_U64) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_149: Core.Ops.Bit.t_Shl t_U64 t_U16 = - { - f_Output = t_U64; - f_shl_pre = (fun (self: t_U64) (rhs: t_U16) -> true); - f_shl_post = (fun (self: t_U64) (rhs: t_U16) (out: t_U64) -> true); - f_shl - = - fun (self: t_U64) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_150: Core.Ops.Bit.t_Shl t_U64 t_U32 = - { - f_Output = t_U64; - f_shl_pre = (fun (self: t_U64) (rhs: t_U32) -> true); - f_shl_post = (fun (self: t_U64) (rhs: t_U32) (out: t_U64) -> true); - f_shl - = - fun (self: t_U64) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_151: Core.Ops.Bit.t_Shl t_U64 t_U64 = - { - f_Output = t_U64; - f_shl_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_shl_post = (fun (self: t_U64) (rhs: t_U64) (out: t_U64) -> true); - f_shl - = - fun (self: t_U64) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_152: Core.Ops.Bit.t_Shl t_U64 t_U128 = - { - f_Output = t_U64; - f_shl_pre = (fun (self: t_U64) (rhs: t_U128) -> true); - f_shl_post = (fun (self: t_U64) (rhs: t_U128) (out: t_U64) -> true); - f_shl - = - fun (self: t_U64) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_153: Core.Ops.Bit.t_Shr t_U64 t_U8 = - { - f_Output = t_U64; - f_shr_pre = (fun (self: t_U64) (rhs: t_U8) -> true); - f_shr_post = (fun (self: t_U64) (rhs: t_U8) (out: t_U64) -> true); - f_shr - = - fun (self: t_U64) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_154: Core.Ops.Bit.t_Shr t_U64 t_U16 = - { - f_Output = t_U64; - f_shr_pre = (fun (self: t_U64) (rhs: t_U16) -> true); - f_shr_post = (fun (self: t_U64) (rhs: t_U16) (out: t_U64) -> true); - f_shr - = - fun (self: t_U64) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_155: Core.Ops.Bit.t_Shr t_U64 t_U32 = - { - f_Output = t_U64; - f_shr_pre = (fun (self: t_U64) (rhs: t_U32) -> true); - f_shr_post = (fun (self: t_U64) (rhs: t_U32) (out: t_U64) -> true); - f_shr - = - fun (self: t_U64) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_156: Core.Ops.Bit.t_Shr t_U64 t_U64 = - { - f_Output = t_U64; - f_shr_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_shr_post = (fun (self: t_U64) (rhs: t_U64) (out: t_U64) -> true); - f_shr - = - fun (self: t_U64) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_157: Core.Ops.Bit.t_Shr t_U64 t_U128 = - { - f_Output = t_U64; - f_shr_pre = (fun (self: t_U64) (rhs: t_U128) -> true); - f_shr_post = (fun (self: t_U64) (rhs: t_U128) (out: t_U64) -> true); - f_shr - = - fun (self: t_U64) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_158: Core.Ops.Bit.t_BitXor t_U64 t_U64 = - { - f_Output = t_U64; - f_bitxor_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_bitxor_post = (fun (self: t_U64) (rhs: t_U64) (out: t_U64) -> true); - f_bitxor - = - fun (self: t_U64) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_bitxor (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_159: Core.Ops.Bit.t_BitAnd t_U64 t_U64 = - { - f_Output = t_U64; - f_bitand_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_bitand_post = (fun (self: t_U64) (rhs: t_U64) (out: t_U64) -> true); - f_bitand - = - fun (self: t_U64) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_bitand (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_160: Core.Ops.Bit.t_BitOr t_U64 t_U64 = - { - f_Output = t_U64; - f_bitor_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_bitor_post = (fun (self: t_U64) (rhs: t_U64) (out: t_U64) -> true); - f_bitor - = - fun (self: t_U64) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_bitor (Core.Base_interface.Coerce.f_lift #t_U64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_168: Core.Ops.Arith.t_Neg t_U32 = - { - f_Output = t_U32; - f_neg_pre = (fun (self: t_U32) -> true); - f_neg_post = (fun (self: t_U32) (out: t_U32) -> true); - f_neg - = - fun (self: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_sub Core.Base.Spec.Constants.v_WORDSIZE_32_ - (Core.Base.Pos.haxint_rem (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - Core.Base.Spec.Constants.v_WORDSIZE_32_ - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_171: Core.Ops.Arith.t_Mul t_U32 t_U32 = - { - f_Output = t_U32; - f_mul_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_mul_post = (fun (self: t_U32) (rhs: t_U32) (out: t_U32) -> true); - f_mul - = - fun (self: t_U32) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_mul (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_172: Core.Ops.Arith.t_Rem t_U32 t_U32 = - { - f_Output = t_U32; - f_rem_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_rem_post = (fun (self: t_U32) (rhs: t_U32) (out: t_U32) -> true); - f_rem - = - fun (self: t_U32) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_rem (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_173: Core.Ops.Arith.t_Add t_U32 t_U32 = - { - f_Output = t_U32; - f_add_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_add_post = (fun (self: t_U32) (rhs: t_U32) (out: t_U32) -> true); - f_add - = - fun (self: t_U32) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_174: Core.Ops.Arith.t_Div t_U32 t_U32 = - { - f_Output = t_U32; - f_div_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_div_post = (fun (self: t_U32) (rhs: t_U32) (out: t_U32) -> true); - f_div - = - fun (self: t_U32) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_div (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_175: Core.Ops.Bit.t_Shl t_U32 t_U8 = - { - f_Output = t_U32; - f_shl_pre = (fun (self: t_U32) (rhs: t_U8) -> true); - f_shl_post = (fun (self: t_U32) (rhs: t_U8) (out: t_U32) -> true); - f_shl - = - fun (self: t_U32) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_176: Core.Ops.Bit.t_Shl t_U32 t_U16 = - { - f_Output = t_U32; - f_shl_pre = (fun (self: t_U32) (rhs: t_U16) -> true); - f_shl_post = (fun (self: t_U32) (rhs: t_U16) (out: t_U32) -> true); - f_shl - = - fun (self: t_U32) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_177: Core.Ops.Bit.t_Shl t_U32 t_U32 = - { - f_Output = t_U32; - f_shl_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_shl_post = (fun (self: t_U32) (rhs: t_U32) (out: t_U32) -> true); - f_shl - = - fun (self: t_U32) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_178: Core.Ops.Bit.t_Shl t_U32 t_U64 = - { - f_Output = t_U32; - f_shl_pre = (fun (self: t_U32) (rhs: t_U64) -> true); - f_shl_post = (fun (self: t_U32) (rhs: t_U64) (out: t_U32) -> true); - f_shl - = - fun (self: t_U32) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_179: Core.Ops.Bit.t_Shl t_U32 t_U128 = - { - f_Output = t_U32; - f_shl_pre = (fun (self: t_U32) (rhs: t_U128) -> true); - f_shl_post = (fun (self: t_U32) (rhs: t_U128) (out: t_U32) -> true); - f_shl - = - fun (self: t_U32) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_180: Core.Ops.Bit.t_Shr t_U32 t_U8 = - { - f_Output = t_U32; - f_shr_pre = (fun (self: t_U32) (rhs: t_U8) -> true); - f_shr_post = (fun (self: t_U32) (rhs: t_U8) (out: t_U32) -> true); - f_shr - = - fun (self: t_U32) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_181: Core.Ops.Bit.t_Shr t_U32 t_U16 = - { - f_Output = t_U32; - f_shr_pre = (fun (self: t_U32) (rhs: t_U16) -> true); - f_shr_post = (fun (self: t_U32) (rhs: t_U16) (out: t_U32) -> true); - f_shr - = - fun (self: t_U32) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_182: Core.Ops.Bit.t_Shr t_U32 t_U32 = - { - f_Output = t_U32; - f_shr_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_shr_post = (fun (self: t_U32) (rhs: t_U32) (out: t_U32) -> true); - f_shr - = - fun (self: t_U32) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_183: Core.Ops.Bit.t_Shr t_U32 t_U64 = - { - f_Output = t_U32; - f_shr_pre = (fun (self: t_U32) (rhs: t_U64) -> true); - f_shr_post = (fun (self: t_U32) (rhs: t_U64) (out: t_U32) -> true); - f_shr - = - fun (self: t_U32) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_184: Core.Ops.Bit.t_Shr t_U32 t_U128 = - { - f_Output = t_U32; - f_shr_pre = (fun (self: t_U32) (rhs: t_U128) -> true); - f_shr_post = (fun (self: t_U32) (rhs: t_U128) (out: t_U32) -> true); - f_shr - = - fun (self: t_U32) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_185: Core.Ops.Bit.t_BitXor t_U32 t_U32 = - { - f_Output = t_U32; - f_bitxor_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_bitxor_post = (fun (self: t_U32) (rhs: t_U32) (out: t_U32) -> true); - f_bitxor - = - fun (self: t_U32) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_bitxor (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_186: Core.Ops.Bit.t_BitAnd t_U32 t_U32 = - { - f_Output = t_U32; - f_bitand_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_bitand_post = (fun (self: t_U32) (rhs: t_U32) (out: t_U32) -> true); - f_bitand - = - fun (self: t_U32) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_bitand (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_187: Core.Ops.Bit.t_BitOr t_U32 t_U32 = - { - f_Output = t_U32; - f_bitor_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_bitor_post = (fun (self: t_U32) (rhs: t_U32) (out: t_U32) -> true); - f_bitor - = - fun (self: t_U32) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_bitor (Core.Base_interface.Coerce.f_lift #t_U32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_195: Core.Ops.Arith.t_Neg t_U16 = - { - f_Output = t_U16; - f_neg_pre = (fun (self: t_U16) -> true); - f_neg_post = (fun (self: t_U16) (out: t_U16) -> true); - f_neg - = - fun (self: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_sub Core.Base.Spec.Constants.v_WORDSIZE_16_ - (Core.Base.Pos.haxint_rem (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - Core.Base.Spec.Constants.v_WORDSIZE_16_ - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_198: Core.Ops.Arith.t_Mul t_U16 t_U16 = - { - f_Output = t_U16; - f_mul_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_mul_post = (fun (self: t_U16) (rhs: t_U16) (out: t_U16) -> true); - f_mul - = - fun (self: t_U16) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_mul (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_199: Core.Ops.Arith.t_Rem t_U16 t_U16 = - { - f_Output = t_U16; - f_rem_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_rem_post = (fun (self: t_U16) (rhs: t_U16) (out: t_U16) -> true); - f_rem - = - fun (self: t_U16) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_rem (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_200: Core.Ops.Arith.t_Add t_U16 t_U16 = - { - f_Output = t_U16; - f_add_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_add_post = (fun (self: t_U16) (rhs: t_U16) (out: t_U16) -> true); - f_add - = - fun (self: t_U16) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_201: Core.Ops.Arith.t_Div t_U16 t_U16 = - { - f_Output = t_U16; - f_div_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_div_post = (fun (self: t_U16) (rhs: t_U16) (out: t_U16) -> true); - f_div - = - fun (self: t_U16) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_div (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_202: Core.Ops.Bit.t_Shl t_U16 t_U8 = - { - f_Output = t_U16; - f_shl_pre = (fun (self: t_U16) (rhs: t_U8) -> true); - f_shl_post = (fun (self: t_U16) (rhs: t_U8) (out: t_U16) -> true); - f_shl - = - fun (self: t_U16) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_203: Core.Ops.Bit.t_Shl t_U16 t_U16 = - { - f_Output = t_U16; - f_shl_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_shl_post = (fun (self: t_U16) (rhs: t_U16) (out: t_U16) -> true); - f_shl - = - fun (self: t_U16) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_204: Core.Ops.Bit.t_Shl t_U16 t_U32 = - { - f_Output = t_U16; - f_shl_pre = (fun (self: t_U16) (rhs: t_U32) -> true); - f_shl_post = (fun (self: t_U16) (rhs: t_U32) (out: t_U16) -> true); - f_shl - = - fun (self: t_U16) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_205: Core.Ops.Bit.t_Shl t_U16 t_U64 = - { - f_Output = t_U16; - f_shl_pre = (fun (self: t_U16) (rhs: t_U64) -> true); - f_shl_post = (fun (self: t_U16) (rhs: t_U64) (out: t_U16) -> true); - f_shl - = - fun (self: t_U16) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_206: Core.Ops.Bit.t_Shl t_U16 t_U128 = - { - f_Output = t_U16; - f_shl_pre = (fun (self: t_U16) (rhs: t_U128) -> true); - f_shl_post = (fun (self: t_U16) (rhs: t_U128) (out: t_U16) -> true); - f_shl - = - fun (self: t_U16) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_207: Core.Ops.Bit.t_Shr t_U16 t_U8 = - { - f_Output = t_U16; - f_shr_pre = (fun (self: t_U16) (rhs: t_U8) -> true); - f_shr_post = (fun (self: t_U16) (rhs: t_U8) (out: t_U16) -> true); - f_shr - = - fun (self: t_U16) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_208: Core.Ops.Bit.t_Shr t_U16 t_U16 = - { - f_Output = t_U16; - f_shr_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_shr_post = (fun (self: t_U16) (rhs: t_U16) (out: t_U16) -> true); - f_shr - = - fun (self: t_U16) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_209: Core.Ops.Bit.t_Shr t_U16 t_U32 = - { - f_Output = t_U16; - f_shr_pre = (fun (self: t_U16) (rhs: t_U32) -> true); - f_shr_post = (fun (self: t_U16) (rhs: t_U32) (out: t_U16) -> true); - f_shr - = - fun (self: t_U16) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_210: Core.Ops.Bit.t_Shr t_U16 t_U64 = - { - f_Output = t_U16; - f_shr_pre = (fun (self: t_U16) (rhs: t_U64) -> true); - f_shr_post = (fun (self: t_U16) (rhs: t_U64) (out: t_U16) -> true); - f_shr - = - fun (self: t_U16) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_211: Core.Ops.Bit.t_Shr t_U16 t_U128 = - { - f_Output = t_U16; - f_shr_pre = (fun (self: t_U16) (rhs: t_U128) -> true); - f_shr_post = (fun (self: t_U16) (rhs: t_U128) (out: t_U16) -> true); - f_shr - = - fun (self: t_U16) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_212: Core.Ops.Bit.t_BitXor t_U16 t_U16 = - { - f_Output = t_U16; - f_bitxor_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_bitxor_post = (fun (self: t_U16) (rhs: t_U16) (out: t_U16) -> true); - f_bitxor - = - fun (self: t_U16) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_bitxor (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_213: Core.Ops.Bit.t_BitAnd t_U16 t_U16 = - { - f_Output = t_U16; - f_bitand_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_bitand_post = (fun (self: t_U16) (rhs: t_U16) (out: t_U16) -> true); - f_bitand - = - fun (self: t_U16) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_bitand (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_214: Core.Ops.Bit.t_BitOr t_U16 t_U16 = - { - f_Output = t_U16; - f_bitor_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_bitor_post = (fun (self: t_U16) (rhs: t_U16) (out: t_U16) -> true); - f_bitor - = - fun (self: t_U16) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_bitor (Core.Base_interface.Coerce.f_lift #t_U16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_222: Core.Ops.Arith.t_Neg t_U8 = - { - f_Output = t_U8; - f_neg_pre = (fun (self: t_U8) -> true); - f_neg_post = (fun (self: t_U8) (out: t_U8) -> true); - f_neg - = - fun (self: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_sub Core.Base.Spec.Constants.v_WORDSIZE_8_ - (Core.Base.Pos.haxint_rem (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - Core.Base.Spec.Constants.v_WORDSIZE_8_ - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_225: Core.Ops.Arith.t_Mul t_U8 t_U8 = - { - f_Output = t_U8; - f_mul_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_mul_post = (fun (self: t_U8) (rhs: t_U8) (out: t_U8) -> true); - f_mul - = - fun (self: t_U8) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_mul (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_226: Core.Ops.Arith.t_Rem t_U8 t_U8 = - { - f_Output = t_U8; - f_rem_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_rem_post = (fun (self: t_U8) (rhs: t_U8) (out: t_U8) -> true); - f_rem - = - fun (self: t_U8) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_rem (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_227: Core.Ops.Arith.t_Add t_U8 t_U8 = - { - f_Output = t_U8; - f_add_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_add_post = (fun (self: t_U8) (rhs: t_U8) (out: t_U8) -> true); - f_add - = - fun (self: t_U8) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_add (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_228: Core.Ops.Arith.t_Div t_U8 t_U8 = - { - f_Output = t_U8; - f_div_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_div_post = (fun (self: t_U8) (rhs: t_U8) (out: t_U8) -> true); - f_div - = - fun (self: t_U8) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_div (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_229: Core.Ops.Bit.t_Shl t_U8 t_U8 = - { - f_Output = t_U8; - f_shl_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_shl_post = (fun (self: t_U8) (rhs: t_U8) (out: t_U8) -> true); - f_shl - = - fun (self: t_U8) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_230: Core.Ops.Bit.t_Shl t_U8 t_U16 = - { - f_Output = t_U8; - f_shl_pre = (fun (self: t_U8) (rhs: t_U16) -> true); - f_shl_post = (fun (self: t_U8) (rhs: t_U16) (out: t_U8) -> true); - f_shl - = - fun (self: t_U8) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_231: Core.Ops.Bit.t_Shl t_U8 t_U32 = - { - f_Output = t_U8; - f_shl_pre = (fun (self: t_U8) (rhs: t_U32) -> true); - f_shl_post = (fun (self: t_U8) (rhs: t_U32) (out: t_U8) -> true); - f_shl - = - fun (self: t_U8) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_232: Core.Ops.Bit.t_Shl t_U8 t_U64 = - { - f_Output = t_U8; - f_shl_pre = (fun (self: t_U8) (rhs: t_U64) -> true); - f_shl_post = (fun (self: t_U8) (rhs: t_U64) (out: t_U8) -> true); - f_shl - = - fun (self: t_U8) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_233: Core.Ops.Bit.t_Shl t_U8 t_U128 = - { - f_Output = t_U8; - f_shl_pre = (fun (self: t_U8) (rhs: t_U128) -> true); - f_shl_post = (fun (self: t_U8) (rhs: t_U128) (out: t_U8) -> true); - f_shl - = - fun (self: t_U8) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shl (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_234: Core.Ops.Bit.t_Shr t_U8 t_U8 = - { - f_Output = t_U8; - f_shr_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_shr_post = (fun (self: t_U8) (rhs: t_U8) (out: t_U8) -> true); - f_shr - = - fun (self: t_U8) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_235: Core.Ops.Bit.t_Shr t_U8 t_U16 = - { - f_Output = t_U8; - f_shr_pre = (fun (self: t_U8) (rhs: t_U16) -> true); - f_shr_post = (fun (self: t_U8) (rhs: t_U16) (out: t_U8) -> true); - f_shr - = - fun (self: t_U8) (rhs: t_U16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_236: Core.Ops.Bit.t_Shr t_U8 t_U32 = - { - f_Output = t_U8; - f_shr_pre = (fun (self: t_U8) (rhs: t_U32) -> true); - f_shr_post = (fun (self: t_U8) (rhs: t_U32) (out: t_U8) -> true); - f_shr - = - fun (self: t_U8) (rhs: t_U32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_237: Core.Ops.Bit.t_Shr t_U8 t_U64 = - { - f_Output = t_U8; - f_shr_pre = (fun (self: t_U8) (rhs: t_U64) -> true); - f_shr_post = (fun (self: t_U8) (rhs: t_U64) (out: t_U8) -> true); - f_shr - = - fun (self: t_U8) (rhs: t_U64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_238: Core.Ops.Bit.t_Shr t_U8 t_U128 = - { - f_Output = t_U8; - f_shr_pre = (fun (self: t_U8) (rhs: t_U128) -> true); - f_shr_post = (fun (self: t_U8) (rhs: t_U128) (out: t_U8) -> true); - f_shr - = - fun (self: t_U8) (rhs: t_U128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_shr (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_239: Core.Ops.Bit.t_BitXor t_U8 t_U8 = - { - f_Output = t_U8; - f_bitxor_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_bitxor_post = (fun (self: t_U8) (rhs: t_U8) (out: t_U8) -> true); - f_bitxor - = - fun (self: t_U8) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_bitxor (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_240: Core.Ops.Bit.t_BitAnd t_U8 t_U8 = - { - f_Output = t_U8; - f_bitand_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_bitand_post = (fun (self: t_U8) (rhs: t_U8) (out: t_U8) -> true); - f_bitand - = - fun (self: t_U8) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_bitand (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_241: Core.Ops.Bit.t_BitOr t_U8 t_U8 = - { - f_Output = t_U8; - f_bitor_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_bitor_post = (fun (self: t_U8) (rhs: t_U8) (out: t_U8) -> true); - f_bitor - = - fun (self: t_U8) (rhs: t_U8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Haxint.t_HaxInt - #t_U8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Pos.haxint_bitor (Core.Base_interface.Coerce.f_lift #t_U8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Haxint.t_HaxInt) - (Core.Base_interface.Coerce.f_lift #t_U8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Haxint.t_HaxInt) - <: - Core.Base.Spec.Haxint.t_HaxInt) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_45: Core.Ops.Arith.t_Rem t_I128 t_I128 = - { - f_Output = t_I128; - f_rem_pre = (fun (self: t_I128) (rhs: t_I128) -> true); - f_rem_post = (fun (self: t_I128) (rhs: t_I128) (out: t_I128) -> true); - f_rem - = - fun (self: t_I128) (rhs: t_I128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_rem (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_47: Core.Ops.Arith.t_Div t_I128 t_I128 = - { - f_Output = t_I128; - f_div_pre = (fun (self: t_I128) (rhs: t_I128) -> true); - f_div_post = (fun (self: t_I128) (rhs: t_I128) (out: t_I128) -> true); - f_div - = - fun (self: t_I128) (rhs: t_I128) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I128 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_div (Core.Base_interface.Coerce.f_lift #t_I128 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I128 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_59: Core.Ops.Arith.t_Rem t_I64 t_I64 = - { - f_Output = t_I64; - f_rem_pre = (fun (self: t_I64) (rhs: t_I64) -> true); - f_rem_post = (fun (self: t_I64) (rhs: t_I64) (out: t_I64) -> true); - f_rem - = - fun (self: t_I64) (rhs: t_I64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_rem (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_61: Core.Ops.Arith.t_Div t_I64 t_I64 = - { - f_Output = t_I64; - f_div_pre = (fun (self: t_I64) (rhs: t_I64) -> true); - f_div_post = (fun (self: t_I64) (rhs: t_I64) (out: t_I64) -> true); - f_div - = - fun (self: t_I64) (rhs: t_I64) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I64 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_div (Core.Base_interface.Coerce.f_lift #t_I64 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I64 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_73: Core.Ops.Arith.t_Rem t_I32 t_I32 = - { - f_Output = t_I32; - f_rem_pre = (fun (self: t_I32) (rhs: t_I32) -> true); - f_rem_post = (fun (self: t_I32) (rhs: t_I32) (out: t_I32) -> true); - f_rem - = - fun (self: t_I32) (rhs: t_I32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_rem (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_75: Core.Ops.Arith.t_Div t_I32 t_I32 = - { - f_Output = t_I32; - f_div_pre = (fun (self: t_I32) (rhs: t_I32) -> true); - f_div_post = (fun (self: t_I32) (rhs: t_I32) (out: t_I32) -> true); - f_div - = - fun (self: t_I32) (rhs: t_I32) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I32 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_div (Core.Base_interface.Coerce.f_lift #t_I32 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I32 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_87: Core.Ops.Arith.t_Rem t_I16 t_I16 = - { - f_Output = t_I16; - f_rem_pre = (fun (self: t_I16) (rhs: t_I16) -> true); - f_rem_post = (fun (self: t_I16) (rhs: t_I16) (out: t_I16) -> true); - f_rem - = - fun (self: t_I16) (rhs: t_I16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_rem (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_89: Core.Ops.Arith.t_Div t_I16 t_I16 = - { - f_Output = t_I16; - f_div_pre = (fun (self: t_I16) (rhs: t_I16) -> true); - f_div_post = (fun (self: t_I16) (rhs: t_I16) (out: t_I16) -> true); - f_div - = - fun (self: t_I16) (rhs: t_I16) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I16 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_div (Core.Base_interface.Coerce.f_lift #t_I16 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I16 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_101: Core.Ops.Arith.t_Rem t_I8 t_I8 = - { - f_Output = t_I8; - f_rem_pre = (fun (self: t_I8) (rhs: t_I8) -> true); - f_rem_post = (fun (self: t_I8) (rhs: t_I8) (out: t_I8) -> true); - f_rem - = - fun (self: t_I8) (rhs: t_I8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_rem (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_103: Core.Ops.Arith.t_Div t_I8 t_I8 = - { - f_Output = t_I8; - f_div_pre = (fun (self: t_I8) (rhs: t_I8) -> true); - f_div_post = (fun (self: t_I8) (rhs: t_I8) (out: t_I8) -> true); - f_div - = - fun (self: t_I8) (rhs: t_I8) -> - Core.Base_interface.Coerce.f_concretize #Core.Base.Spec.Z.t_Z - #t_I8 - #FStar.Tactics.Typeclasses.solve - (Core.Base.Z.z_div (Core.Base_interface.Coerce.f_lift #t_I8 - #FStar.Tactics.Typeclasses.solve - self - <: - Core.Base.Spec.Z.t_Z) - (Core.Base_interface.Coerce.f_lift #t_I8 #FStar.Tactics.Typeclasses.solve rhs - <: - Core.Base.Spec.Z.t_Z) - <: - Core.Base.Spec.Z.t_Z) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_115: Core.Ops.Arith.t_Sub t_U128 t_U128 = - { - f_Output = t_U128; - f_sub_pre = (fun (self: t_U128) (rhs: t_U128) -> true); - f_sub_post = (fun (self: t_U128) (rhs: t_U128) (out: t_U128) -> true); - f_sub - = - fun (self: t_U128) (rhs: t_U128) -> - self +! (Core.Ops.Arith.f_neg #t_U128 #FStar.Tactics.Typeclasses.solve rhs <: t_U128) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_116: Core.Ops.Bit.t_Not t_U128 = - { - f_Output = t_U128; - f_not_pre = (fun (self: t_U128) -> true); - f_not_post = (fun (self: t_U128) (out: t_U128) -> true); - f_not = fun (self: t_U128) -> self ^. (f_MAX #FStar.Tactics.Typeclasses.solve <: t_U128) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_142: Core.Ops.Arith.t_Sub t_U64 t_U64 = - { - f_Output = t_U64; - f_sub_pre = (fun (self: t_U64) (rhs: t_U64) -> true); - f_sub_post = (fun (self: t_U64) (rhs: t_U64) (out: t_U64) -> true); - f_sub - = - fun (self: t_U64) (rhs: t_U64) -> - self +! (Core.Ops.Arith.f_neg #t_U64 #FStar.Tactics.Typeclasses.solve rhs <: t_U64) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_143: Core.Ops.Bit.t_Not t_U64 = - { - f_Output = t_U64; - f_not_pre = (fun (self: t_U64) -> true); - f_not_post = (fun (self: t_U64) (out: t_U64) -> true); - f_not = fun (self: t_U64) -> self ^. (f_MAX #FStar.Tactics.Typeclasses.solve <: t_U64) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_169: Core.Ops.Arith.t_Sub t_U32 t_U32 = - { - f_Output = t_U32; - f_sub_pre = (fun (self: t_U32) (rhs: t_U32) -> true); - f_sub_post = (fun (self: t_U32) (rhs: t_U32) (out: t_U32) -> true); - f_sub - = - fun (self: t_U32) (rhs: t_U32) -> - self +! (Core.Ops.Arith.f_neg #t_U32 #FStar.Tactics.Typeclasses.solve rhs <: t_U32) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_170: Core.Ops.Bit.t_Not t_U32 = - { - f_Output = t_U32; - f_not_pre = (fun (self: t_U32) -> true); - f_not_post = (fun (self: t_U32) (out: t_U32) -> true); - f_not = fun (self: t_U32) -> self ^. (f_MAX #FStar.Tactics.Typeclasses.solve <: t_U32) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_196: Core.Ops.Arith.t_Sub t_U16 t_U16 = - { - f_Output = t_U16; - f_sub_pre = (fun (self: t_U16) (rhs: t_U16) -> true); - f_sub_post = (fun (self: t_U16) (rhs: t_U16) (out: t_U16) -> true); - f_sub - = - fun (self: t_U16) (rhs: t_U16) -> - self +! (Core.Ops.Arith.f_neg #t_U16 #FStar.Tactics.Typeclasses.solve rhs <: t_U16) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_197: Core.Ops.Bit.t_Not t_U16 = - { - f_Output = t_U16; - f_not_pre = (fun (self: t_U16) -> true); - f_not_post = (fun (self: t_U16) (out: t_U16) -> true); - f_not = fun (self: t_U16) -> self ^. (f_MAX #FStar.Tactics.Typeclasses.solve <: t_U16) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_223: Core.Ops.Arith.t_Sub t_U8 t_U8 = - { - f_Output = t_U8; - f_sub_pre = (fun (self: t_U8) (rhs: t_U8) -> true); - f_sub_post = (fun (self: t_U8) (rhs: t_U8) (out: t_U8) -> true); - f_sub - = - fun (self: t_U8) (rhs: t_U8) -> - self +! (Core.Ops.Arith.f_neg #t_U8 #FStar.Tactics.Typeclasses.solve rhs <: t_U8) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_224: Core.Ops.Bit.t_Not t_U8 = - { - f_Output = t_U8; - f_not_pre = (fun (self: t_U8) -> true); - f_not_post = (fun (self: t_U8) (out: t_U8) -> true); - f_not = fun (self: t_U8) -> self ^. (f_MAX #FStar.Tactics.Typeclasses.solve <: t_U8) - } diff --git a/proof-libs/fstar/generated-core/Core.Clone.fst b/proof-libs/fstar/generated-core/Core.Clone.fst deleted file mode 100644 index 712181f8c..000000000 --- a/proof-libs/fstar/generated-core/Core.Clone.fst +++ /dev/null @@ -1,10 +0,0 @@ -module Core.Clone -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -class t_Clone (v_Self: Type0) = { - f_clone_pre:v_Self -> Type0; - f_clone_post:v_Self -> v_Self -> Type0; - f_clone:x0: v_Self -> Prims.Pure v_Self (f_clone_pre x0) (fun result -> f_clone_post x0 result) -} diff --git a/proof-libs/fstar/generated-core/Core.Cmp.fst b/proof-libs/fstar/generated-core/Core.Cmp.fst deleted file mode 100644 index 8d576fc51..000000000 --- a/proof-libs/fstar/generated-core/Core.Cmp.fst +++ /dev/null @@ -1,135 +0,0 @@ -module Core.Cmp -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let discriminant_Ordering_Equal: i8 = 0y - -let discriminant_Ordering_Greater: i8 = 1y - -type t_Ordering = - | Ordering_Less : t_Ordering - | Ordering_Equal : t_Ordering - | Ordering_Greater : t_Ordering - -let impl__Ordering__is_eq (self: t_Ordering) : bool = - match self with - | Ordering_Equal -> true - | _ -> false - -let impl__Ordering__is_gt (self: t_Ordering) : bool = - match self with - | Ordering_Greater -> true - | _ -> false - -let impl__Ordering__is_lt (self: t_Ordering) : bool = - match self with - | Ordering_Less -> true - | _ -> false - -let impl__Ordering__reverse (self: t_Ordering) : t_Ordering = - match self with - | Ordering_Less -> Ordering_Greater <: t_Ordering - | Ordering_Equal -> Ordering_Equal <: t_Ordering - | Ordering_Greater -> Ordering_Less <: t_Ordering - -let discriminant_Ordering_Less: i8 = (-1y) - -let t_Ordering_cast_to_repr (x: t_Ordering) : i8 = - match x with - | Ordering_Less -> discriminant_Ordering_Less - | Ordering_Equal -> discriminant_Ordering_Equal - | Ordering_Greater -> discriminant_Ordering_Greater - -class t_PartialEq (v_Self: Type0) (v_Rhs: Type0) = { - f_eq_pre:v_Self -> v_Rhs -> Type0; - f_eq_post:v_Self -> v_Rhs -> bool -> Type0; - f_eq:x0: v_Self -> x1: v_Rhs - -> Prims.Pure bool (f_eq_pre x0 x1) (fun result -> f_eq_post x0 x1 result); - f_ne_pre:v_Self -> v_Rhs -> Type0; - f_ne_post:v_Self -> v_Rhs -> bool -> Type0; - f_ne:x0: v_Self -> x1: v_Rhs - -> Prims.Pure bool (f_ne_pre x0 x1) (fun result -> f_ne_post x0 x1 result) -} - -let impl__Ordering__is_ge (self: t_Ordering) : bool = - ~.(match self with - | Ordering_Less -> true - | _ -> false) - -let impl__Ordering__is_le (self: t_Ordering) : bool = - ~.(match self with - | Ordering_Greater -> true - | _ -> false) - -let impl__Ordering__is_ne (self: t_Ordering) : bool = - ~.(match self with - | Ordering_Equal -> true - | _ -> false) - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_1: t_PartialEq t_Ordering t_Ordering = - { - f_eq_pre = (fun (self: t_Ordering) (other: t_Ordering) -> true); - f_eq_post = (fun (self: t_Ordering) (other: t_Ordering) (out: bool) -> true); - f_eq - = - (fun (self: t_Ordering) (other: t_Ordering) -> - match self with - | Ordering_Less -> - (match other with - | Ordering_Less -> true - | _ -> false) - | Ordering_Equal -> - (match other with - | Ordering_Equal -> true - | _ -> false) - | Ordering_Greater -> - match other with - | Ordering_Greater -> true - | _ -> false); - f_ne_pre = (fun (self: t_Ordering) (other: t_Ordering) -> true); - f_ne_post = (fun (self: t_Ordering) (other: t_Ordering) (out: bool) -> true); - f_ne - = - fun (self: t_Ordering) (other: t_Ordering) -> - ~.(match self with - | Ordering_Less -> - (match other with - | Ordering_Less -> true - | _ -> false) - | Ordering_Equal -> - (match other with - | Ordering_Equal -> true - | _ -> false) - | Ordering_Greater -> - match other with - | Ordering_Greater -> true - | _ -> false) - } - -class t_PartialOrd (v_Self: Type0) (v_Rhs: Type0) = { - [@@@ FStar.Tactics.Typeclasses.no_method]_super_9014672428308350468:t_PartialEq v_Self v_Rhs; - f_partial_cmp_pre:v_Self -> v_Rhs -> Type0; - f_partial_cmp_post:v_Self -> v_Rhs -> Core.Option.t_Option t_Ordering -> Type0; - f_partial_cmp:x0: v_Self -> x1: v_Rhs - -> Prims.Pure (Core.Option.t_Option t_Ordering) - (f_partial_cmp_pre x0 x1) - (fun result -> f_partial_cmp_post x0 x1 result); - f_lt_pre:v_Self -> v_Rhs -> Type0; - f_lt_post:v_Self -> v_Rhs -> bool -> Type0; - f_lt:x0: v_Self -> x1: v_Rhs - -> Prims.Pure bool (f_lt_pre x0 x1) (fun result -> f_lt_post x0 x1 result); - f_le_pre:v_Self -> v_Rhs -> Type0; - f_le_post:v_Self -> v_Rhs -> bool -> Type0; - f_le:x0: v_Self -> x1: v_Rhs - -> Prims.Pure bool (f_le_pre x0 x1) (fun result -> f_le_post x0 x1 result); - f_gt_pre:v_Self -> v_Rhs -> Type0; - f_gt_post:v_Self -> v_Rhs -> bool -> Type0; - f_gt:x0: v_Self -> x1: v_Rhs - -> Prims.Pure bool (f_gt_pre x0 x1) (fun result -> f_gt_post x0 x1 result); - f_ge_pre:v_Self -> v_Rhs -> Type0; - f_ge_post:v_Self -> v_Rhs -> bool -> Type0; - f_ge:x0: v_Self -> x1: v_Rhs - -> Prims.Pure bool (f_ge_pre x0 x1) (fun result -> f_ge_post x0 x1 result) -} diff --git a/proof-libs/fstar/generated-core/Core.Convert.fst b/proof-libs/fstar/generated-core/Core.Convert.fst deleted file mode 100644 index 1262e975d..000000000 --- a/proof-libs/fstar/generated-core/Core.Convert.fst +++ /dev/null @@ -1,33 +0,0 @@ -module Core.Convert -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -class t_From (v_Self: Type0) (v_T: Type0) = { - f_from_pre:v_T -> Type0; - f_from_post:v_T -> v_Self -> Type0; - f_from:x0: v_T -> Prims.Pure v_Self (f_from_pre x0) (fun result -> f_from_post x0 result) -} - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_1 (#v_T: Type0) : t_From v_T v_T = - { - f_from_pre = (fun (t: v_T) -> true); - f_from_post = (fun (t: v_T) (out: v_T) -> true); - f_from = fun (t: v_T) -> t - } - -class t_Into (v_Self: Type0) (v_T: Type0) = { - f_into_pre:v_Self -> Type0; - f_into_post:v_Self -> v_T -> Type0; - f_into:x0: v_Self -> Prims.Pure v_T (f_into_pre x0) (fun result -> f_into_post x0 result) -} - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl (#v_T #v_U: Type0) (#[FStar.Tactics.Typeclasses.tcresolve ()] i2: t_From v_U v_T) - : t_Into v_T v_U = - { - f_into_pre = (fun (self: v_T) -> true); - f_into_post = (fun (self: v_T) (out: v_U) -> true); - f_into = fun (self: v_T) -> f_from #v_U #v_T #FStar.Tactics.Typeclasses.solve self - } diff --git a/proof-libs/fstar/generated-core/Core.Intrinsics.fst b/proof-libs/fstar/generated-core/Core.Intrinsics.fst deleted file mode 100644 index 90fd57715..000000000 --- a/proof-libs/fstar/generated-core/Core.Intrinsics.fst +++ /dev/null @@ -1,220 +0,0 @@ -module Core.Intrinsics -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -include Core.Array.Rec_bundle_579704328 {add_with_overflow_i128 as add_with_overflow_i128} - -include Core.Array.Rec_bundle_579704328 {add_with_overflow_i16 as add_with_overflow_i16} - -include Core.Array.Rec_bundle_579704328 {add_with_overflow_i32 as add_with_overflow_i32} - -include Core.Array.Rec_bundle_579704328 {add_with_overflow_i64 as add_with_overflow_i64} - -include Core.Array.Rec_bundle_579704328 {add_with_overflow_i8 as add_with_overflow_i8} - -include Core.Array.Rec_bundle_579704328 {add_with_overflow_isize as add_with_overflow_isize} - -include Core.Array.Rec_bundle_579704328 {unchecked_add_i128 as unchecked_add_i128} - -include Core.Array.Rec_bundle_579704328 {unchecked_add_i16 as unchecked_add_i16} - -include Core.Array.Rec_bundle_579704328 {unchecked_add_i32 as unchecked_add_i32} - -include Core.Array.Rec_bundle_579704328 {unchecked_add_i64 as unchecked_add_i64} - -include Core.Array.Rec_bundle_579704328 {unchecked_add_i8 as unchecked_add_i8} - -include Core.Array.Rec_bundle_579704328 {unchecked_add_isize as unchecked_add_isize} - -include Core.Array.Rec_bundle_579704328 {unchecked_add_u128 as unchecked_add_u128} - -include Core.Array.Rec_bundle_579704328 {unchecked_add_u16 as unchecked_add_u16} - -include Core.Array.Rec_bundle_579704328 {unchecked_add_u32 as unchecked_add_u32} - -include Core.Array.Rec_bundle_579704328 {unchecked_add_u64 as unchecked_add_u64} - -include Core.Array.Rec_bundle_579704328 {unchecked_add_u8 as unchecked_add_u8} - -include Core.Array.Rec_bundle_579704328 {unchecked_add_usize as unchecked_add_usize} - -include Core.Array.Rec_bundle_579704328 {add_with_overflow_u128 as add_with_overflow_u128} - -include Core.Array.Rec_bundle_579704328 {add_with_overflow_u16 as add_with_overflow_u16} - -include Core.Array.Rec_bundle_579704328 {add_with_overflow_u32 as add_with_overflow_u32} - -include Core.Array.Rec_bundle_579704328 {add_with_overflow_u64 as add_with_overflow_u64} - -include Core.Array.Rec_bundle_579704328 {add_with_overflow_u8 as add_with_overflow_u8} - -include Core.Array.Rec_bundle_579704328 {add_with_overflow_usize as add_with_overflow_usize} - -include Core.Array.Rec_bundle_579704328 {unchecked_div_u128 as unchecked_div_u128} - -include Core.Array.Rec_bundle_579704328 {unchecked_div_u16 as unchecked_div_u16} - -include Core.Array.Rec_bundle_579704328 {unchecked_div_u32 as unchecked_div_u32} - -include Core.Array.Rec_bundle_579704328 {unchecked_div_u64 as unchecked_div_u64} - -include Core.Array.Rec_bundle_579704328 {unchecked_div_u8 as unchecked_div_u8} - -include Core.Array.Rec_bundle_579704328 {unchecked_div_usize as unchecked_div_usize} - -include Core.Array.Rec_bundle_579704328 {wrapping_add_i128 as wrapping_add_i128} - -include Core.Array.Rec_bundle_579704328 {wrapping_add_i16 as wrapping_add_i16} - -include Core.Array.Rec_bundle_579704328 {wrapping_add_i32 as wrapping_add_i32} - -include Core.Array.Rec_bundle_579704328 {wrapping_add_i64 as wrapping_add_i64} - -include Core.Array.Rec_bundle_579704328 {wrapping_add_i8 as wrapping_add_i8} - -include Core.Array.Rec_bundle_579704328 {wrapping_add_isize as wrapping_add_isize} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub_i128 as wrapping_sub_i128} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub_i16 as wrapping_sub_i16} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub_i32 as wrapping_sub_i32} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub_i64 as wrapping_sub_i64} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub_i8 as wrapping_sub_i8} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub_isize as wrapping_sub_isize} - -include Core.Array.Rec_bundle_579704328 {unchecked_div_i128 as unchecked_div_i128} - -include Core.Array.Rec_bundle_579704328 {unchecked_div_i16 as unchecked_div_i16} - -include Core.Array.Rec_bundle_579704328 {unchecked_div_i32 as unchecked_div_i32} - -include Core.Array.Rec_bundle_579704328 {unchecked_div_i64 as unchecked_div_i64} - -include Core.Array.Rec_bundle_579704328 {unchecked_div_i8 as unchecked_div_i8} - -include Core.Array.Rec_bundle_579704328 {unchecked_div_isize as unchecked_div_isize} - -include Core.Array.Rec_bundle_579704328 {wrapping_add_u128 as wrapping_add_u128} - -include Core.Array.Rec_bundle_579704328 {wrapping_add_u16 as wrapping_add_u16} - -include Core.Array.Rec_bundle_579704328 {wrapping_add_u32 as wrapping_add_u32} - -include Core.Array.Rec_bundle_579704328 {wrapping_add_u64 as wrapping_add_u64} - -include Core.Array.Rec_bundle_579704328 {wrapping_add_u8 as wrapping_add_u8} - -include Core.Array.Rec_bundle_579704328 {wrapping_add_usize as wrapping_add_usize} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul_i128 as wrapping_mul_i128} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul_i16 as wrapping_mul_i16} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul_i32 as wrapping_mul_i32} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul_i64 as wrapping_mul_i64} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul_i8 as wrapping_mul_i8} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul_isize as wrapping_mul_isize} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul_u128 as wrapping_mul_u128} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul_u16 as wrapping_mul_u16} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul_u32 as wrapping_mul_u32} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul_u64 as wrapping_mul_u64} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul_u8 as wrapping_mul_u8} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul_usize as wrapping_mul_usize} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub_u128 as wrapping_sub_u128} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub_u16 as wrapping_sub_u16} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub_u32 as wrapping_sub_u32} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub_u64 as wrapping_sub_u64} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub_u8 as wrapping_sub_u8} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub_usize as wrapping_sub_usize} - -include Core.Array.Rec_bundle_579704328 {rotate_left_u128 as rotate_left_u128} - -include Core.Array.Rec_bundle_579704328 {rotate_left_u16 as rotate_left_u16} - -include Core.Array.Rec_bundle_579704328 {rotate_left_u32 as rotate_left_u32} - -include Core.Array.Rec_bundle_579704328 {rotate_left_u64 as rotate_left_u64} - -include Core.Array.Rec_bundle_579704328 {rotate_left_u8 as rotate_left_u8} - -include Core.Array.Rec_bundle_579704328 {rotate_left_usize as rotate_left_usize} - -include Core.Array.Rec_bundle_579704328 {rotate_right_u128 as rotate_right_u128} - -include Core.Array.Rec_bundle_579704328 {rotate_right_u16 as rotate_right_u16} - -include Core.Array.Rec_bundle_579704328 {rotate_right_u32 as rotate_right_u32} - -include Core.Array.Rec_bundle_579704328 {rotate_right_u64 as rotate_right_u64} - -include Core.Array.Rec_bundle_579704328 {rotate_right_u8 as rotate_right_u8} - -include Core.Array.Rec_bundle_579704328 {rotate_right_usize as rotate_right_usize} - -include Core.Array.Rec_bundle_579704328 {bswap_u128 as bswap_u128} - -include Core.Array.Rec_bundle_579704328 {bswap_u16 as bswap_u16} - -include Core.Array.Rec_bundle_579704328 {bswap_u32 as bswap_u32} - -include Core.Array.Rec_bundle_579704328 {bswap_u64 as bswap_u64} - -include Core.Array.Rec_bundle_579704328 {bswap_u8 as bswap_u8} - -include Core.Array.Rec_bundle_579704328 {bswap_usize as bswap_usize} - -include Core.Array.Rec_bundle_579704328 {ctlz_u128 as ctlz_u128} - -include Core.Array.Rec_bundle_579704328 {ctlz_u16 as ctlz_u16} - -include Core.Array.Rec_bundle_579704328 {ctlz_u32 as ctlz_u32} - -include Core.Array.Rec_bundle_579704328 {ctlz_u64 as ctlz_u64} - -include Core.Array.Rec_bundle_579704328 {ctlz_u8 as ctlz_u8} - -include Core.Array.Rec_bundle_579704328 {ctlz_usize as ctlz_usize} - -include Core.Array.Rec_bundle_579704328 {ctpop_u128 as ctpop_u128} - -include Core.Array.Rec_bundle_579704328 {ctpop_u16 as ctpop_u16} - -include Core.Array.Rec_bundle_579704328 {ctpop_u32 as ctpop_u32} - -include Core.Array.Rec_bundle_579704328 {ctpop_u64 as ctpop_u64} - -include Core.Array.Rec_bundle_579704328 {ctpop_u8 as ctpop_u8} - -include Core.Array.Rec_bundle_579704328 {ctpop_usize as ctpop_usize} - -include Core.Array.Rec_bundle_579704328 {cttz_u128 as cttz_u128} - -include Core.Array.Rec_bundle_579704328 {cttz_u16 as cttz_u16} - -include Core.Array.Rec_bundle_579704328 {cttz_u32 as cttz_u32} - -include Core.Array.Rec_bundle_579704328 {cttz_u64 as cttz_u64} - -include Core.Array.Rec_bundle_579704328 {cttz_u8 as cttz_u8} - -include Core.Array.Rec_bundle_579704328 {cttz_usize as cttz_usize} diff --git a/proof-libs/fstar/generated-core/Core.Iter.Range.fst b/proof-libs/fstar/generated-core/Core.Iter.Range.fst deleted file mode 100644 index ac3d512db..000000000 --- a/proof-libs/fstar/generated-core/Core.Iter.Range.fst +++ /dev/null @@ -1,457 +0,0 @@ -module Core.Iter.Range -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -class t_Step (v_Self: Type0) = { - [@@@ FStar.Tactics.Typeclasses.no_method]_super_9442900250278684536:Core.Clone.t_Clone v_Self; - [@@@ FStar.Tactics.Typeclasses.no_method]_super_12866954522599331834:Core.Cmp.t_PartialOrd v_Self - v_Self; - f_steps_between_pre:v_Self -> v_Self -> Type0; - f_steps_between_post:v_Self -> v_Self -> Core.Option.t_Option Core.Primitive.t_usize -> Type0; - f_steps_between:x0: v_Self -> x1: v_Self - -> Prims.Pure (Core.Option.t_Option Core.Primitive.t_usize) - (f_steps_between_pre x0 x1) - (fun result -> f_steps_between_post x0 x1 result); - f_forward_checked_pre:v_Self -> Core.Primitive.t_usize -> Type0; - f_forward_checked_post:v_Self -> Core.Primitive.t_usize -> Core.Option.t_Option v_Self -> Type0; - f_forward_checked:x0: v_Self -> x1: Core.Primitive.t_usize - -> Prims.Pure (Core.Option.t_Option v_Self) - (f_forward_checked_pre x0 x1) - (fun result -> f_forward_checked_post x0 x1 result) -} - -class t_RangeIteratorImpl (v_Self: Type0) = { - f_Item:Type0; - f_spec_next_pre:v_Self -> Type0; - f_spec_next_post:v_Self -> (v_Self & Core.Option.t_Option f_Item) -> Type0; - f_spec_next:x0: v_Self - -> Prims.Pure (v_Self & Core.Option.t_Option f_Item) - (f_spec_next_pre x0) - (fun result -> f_spec_next_post x0 result) -} - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl (#v_A: Type0) (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: t_Step v_A) - : t_RangeIteratorImpl (Core.Ops.Range.t_Range v_A) = - { - f_Item = v_A; - f_spec_next_pre = (fun (self: Core.Ops.Range.t_Range v_A) -> true); - f_spec_next_post - = - (fun - (self: Core.Ops.Range.t_Range v_A) - (out: (Core.Ops.Range.t_Range v_A & Core.Option.t_Option v_A)) - -> - true); - f_spec_next - = - fun (self: Core.Ops.Range.t_Range v_A) -> - let hax_temp_output:Core.Option.t_Option v_A = - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 0) - (let list = ["not yet implemented: specification needed"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (Core.Fmt.Rt.impl_1__none () <: t_Array Core.Fmt.Rt.t_Argument (sz 0)) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) - in - self, hax_temp_output <: (Core.Ops.Range.t_Range v_A & Core.Option.t_Option v_A) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_1 (#v_A: Type0) (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: t_Step v_A) - : Core.Iter.Traits.Iterator.t_Iterator (Core.Ops.Range.t_Range v_A) = - { - f_Item = v_A; - f_next_pre = (fun (self: Core.Ops.Range.t_Range v_A) -> true); - f_next_post - = - (fun - (self: Core.Ops.Range.t_Range v_A) - (out: (Core.Ops.Range.t_Range v_A & Core.Option.t_Option v_A)) - -> - true); - f_next - = - (fun (self: Core.Ops.Range.t_Range v_A) -> - let hax_temp_output:Core.Option.t_Option v_A = - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 0) - (let list = ["not yet implemented: specification needed"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (Core.Fmt.Rt.impl_1__none () <: t_Array Core.Fmt.Rt.t_Argument (sz 0)) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) - in - self, hax_temp_output <: (Core.Ops.Range.t_Range v_A & Core.Option.t_Option v_A)); - f_size_hint_pre = (fun (self: Core.Ops.Range.t_Range v_A) -> true); - f_size_hint_post - = - (fun (self: Core.Ops.Range.t_Range v_A) (out: (usize & Core.Option.t_Option usize)) -> true); - f_size_hint - = - fun (self: Core.Ops.Range.t_Range v_A) -> - if self.Core.Ops.Range.f_start <. self.Core.Ops.Range.f_end - then - let hint:Core.Option.t_Option Core.Primitive.t_usize = - f_steps_between #v_A - #FStar.Tactics.Typeclasses.solve - self.Core.Ops.Range.f_start - self.Core.Ops.Range.f_end - in - sz 0, (Core.Option.Option_Some (sz 0) <: Core.Option.t_Option usize) - <: - (usize & Core.Option.t_Option usize) - else - sz 0, (Core.Option.Option_Some (sz 0) <: Core.Option.t_Option usize) - <: - (usize & Core.Option.t_Option usize) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_2: t_Step Core.Primitive.t_u8 = - { - _super_9442900250278684536 = FStar.Tactics.Typeclasses.solve; - _super_12866954522599331834 = FStar.Tactics.Typeclasses.solve; - f_steps_between_pre = (fun (start: Core.Primitive.t_u8) (v_end: Core.Primitive.t_u8) -> true); - f_steps_between_post - = - (fun - (start: Core.Primitive.t_u8) - (v_end: Core.Primitive.t_u8) - (out: Core.Option.t_Option Core.Primitive.t_usize) - -> - true); - f_steps_between - = - (fun (start: Core.Primitive.t_u8) (v_end: Core.Primitive.t_u8) -> - if start <=. v_end - then - Core.Option.Option_Some - (Core.Convert.f_into #Core.Primitive.t_u8 - #Core.Primitive.t_usize - #FStar.Tactics.Typeclasses.solve - ((Core.Clone.f_clone #Core.Primitive.t_u8 #FStar.Tactics.Typeclasses.solve v_end - <: - Core.Primitive.t_u8) -! - (Core.Clone.f_clone #Core.Primitive.t_u8 #FStar.Tactics.Typeclasses.solve start - <: - Core.Primitive.t_u8) - <: - Core.Primitive.t_u8)) - <: - Core.Option.t_Option Core.Primitive.t_usize - else Core.Option.Option_None <: Core.Option.t_Option Core.Primitive.t_usize); - f_forward_checked_pre = (fun (start: Core.Primitive.t_u8) (n: Core.Primitive.t_usize) -> true); - f_forward_checked_post - = - (fun - (start: Core.Primitive.t_u8) - (n: Core.Primitive.t_usize) - (out: Core.Option.t_Option Core.Primitive.t_u8) - -> - true); - f_forward_checked - = - fun (start: Core.Primitive.t_u8) (n: Core.Primitive.t_usize) -> - match - Core.Convert.f_try_from #Core.Primitive.t_u8 - #Core.Primitive.t_usize - #FStar.Tactics.Typeclasses.solve - n - with - | Core.Result.Result_Ok n -> Core.Num.impl_6__checked_add start n - | Core.Result.Result_Err _ -> - Core.Option.Option_None <: Core.Option.t_Option Core.Primitive.t_u8 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_3: t_Step Core.Primitive.t_u16 = - { - _super_9442900250278684536 = FStar.Tactics.Typeclasses.solve; - _super_12866954522599331834 = FStar.Tactics.Typeclasses.solve; - f_steps_between_pre = (fun (start: Core.Primitive.t_u16) (v_end: Core.Primitive.t_u16) -> true); - f_steps_between_post - = - (fun - (start: Core.Primitive.t_u16) - (v_end: Core.Primitive.t_u16) - (out: Core.Option.t_Option Core.Primitive.t_usize) - -> - true); - f_steps_between - = - (fun (start: Core.Primitive.t_u16) (v_end: Core.Primitive.t_u16) -> - if start <=. v_end - then - Core.Option.Option_Some - (Core.Convert.f_into #Core.Primitive.t_u16 - #Core.Primitive.t_usize - #FStar.Tactics.Typeclasses.solve - ((Core.Clone.f_clone #Core.Primitive.t_u16 #FStar.Tactics.Typeclasses.solve v_end - <: - Core.Primitive.t_u16) -! - (Core.Clone.f_clone #Core.Primitive.t_u16 #FStar.Tactics.Typeclasses.solve start - <: - Core.Primitive.t_u16) - <: - Core.Primitive.t_u16)) - <: - Core.Option.t_Option Core.Primitive.t_usize - else Core.Option.Option_None <: Core.Option.t_Option Core.Primitive.t_usize); - f_forward_checked_pre = (fun (start: Core.Primitive.t_u16) (n: Core.Primitive.t_usize) -> true); - f_forward_checked_post - = - (fun - (start: Core.Primitive.t_u16) - (n: Core.Primitive.t_usize) - (out: Core.Option.t_Option Core.Primitive.t_u16) - -> - true); - f_forward_checked - = - fun (start: Core.Primitive.t_u16) (n: Core.Primitive.t_usize) -> - match - Core.Convert.f_try_from #Core.Primitive.t_u16 - #Core.Primitive.t_usize - #FStar.Tactics.Typeclasses.solve - n - with - | Core.Result.Result_Ok n -> Core.Num.impl_7__checked_add start n - | Core.Result.Result_Err _ -> - Core.Option.Option_None <: Core.Option.t_Option Core.Primitive.t_u16 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_4: t_Step Core.Primitive.t_u32 = - { - _super_9442900250278684536 = FStar.Tactics.Typeclasses.solve; - _super_12866954522599331834 = FStar.Tactics.Typeclasses.solve; - f_steps_between_pre = (fun (start: Core.Primitive.t_u32) (v_end: Core.Primitive.t_u32) -> true); - f_steps_between_post - = - (fun - (start: Core.Primitive.t_u32) - (v_end: Core.Primitive.t_u32) - (out: Core.Option.t_Option Core.Primitive.t_usize) - -> - true); - f_steps_between - = - (fun (start: Core.Primitive.t_u32) (v_end: Core.Primitive.t_u32) -> - if start <=. v_end - then - Core.Option.Option_Some - (Core.Convert.f_into #Core.Primitive.t_u32 - #Core.Primitive.t_usize - #FStar.Tactics.Typeclasses.solve - ((Core.Clone.f_clone #Core.Primitive.t_u32 #FStar.Tactics.Typeclasses.solve v_end - <: - Core.Primitive.t_u32) -! - (Core.Clone.f_clone #Core.Primitive.t_u32 #FStar.Tactics.Typeclasses.solve start - <: - Core.Primitive.t_u32) - <: - Core.Primitive.t_u32)) - <: - Core.Option.t_Option Core.Primitive.t_usize - else Core.Option.Option_None <: Core.Option.t_Option Core.Primitive.t_usize); - f_forward_checked_pre = (fun (start: Core.Primitive.t_u32) (n: Core.Primitive.t_usize) -> true); - f_forward_checked_post - = - (fun - (start: Core.Primitive.t_u32) - (n: Core.Primitive.t_usize) - (out: Core.Option.t_Option Core.Primitive.t_u32) - -> - true); - f_forward_checked - = - fun (start: Core.Primitive.t_u32) (n: Core.Primitive.t_usize) -> - match - Core.Convert.f_try_from #Core.Primitive.t_u32 - #Core.Primitive.t_usize - #FStar.Tactics.Typeclasses.solve - n - with - | Core.Result.Result_Ok n -> Core.Num.impl_8__checked_add start n - | Core.Result.Result_Err _ -> - Core.Option.Option_None <: Core.Option.t_Option Core.Primitive.t_u32 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_5: t_Step Core.Primitive.t_u64 = - { - _super_9442900250278684536 = FStar.Tactics.Typeclasses.solve; - _super_12866954522599331834 = FStar.Tactics.Typeclasses.solve; - f_steps_between_pre = (fun (start: Core.Primitive.t_u64) (v_end: Core.Primitive.t_u64) -> true); - f_steps_between_post - = - (fun - (start: Core.Primitive.t_u64) - (v_end: Core.Primitive.t_u64) - (out: Core.Option.t_Option Core.Primitive.t_usize) - -> - true); - f_steps_between - = - (fun (start: Core.Primitive.t_u64) (v_end: Core.Primitive.t_u64) -> - if start <=. v_end - then - Core.Option.Option_Some - (Core.Convert.f_into #Core.Primitive.t_u64 - #Core.Primitive.t_usize - #FStar.Tactics.Typeclasses.solve - ((Core.Clone.f_clone #Core.Primitive.t_u64 #FStar.Tactics.Typeclasses.solve v_end - <: - Core.Primitive.t_u64) -! - (Core.Clone.f_clone #Core.Primitive.t_u64 #FStar.Tactics.Typeclasses.solve start - <: - Core.Primitive.t_u64) - <: - Core.Primitive.t_u64)) - <: - Core.Option.t_Option Core.Primitive.t_usize - else Core.Option.Option_None <: Core.Option.t_Option Core.Primitive.t_usize); - f_forward_checked_pre = (fun (start: Core.Primitive.t_u64) (n: Core.Primitive.t_usize) -> true); - f_forward_checked_post - = - (fun - (start: Core.Primitive.t_u64) - (n: Core.Primitive.t_usize) - (out: Core.Option.t_Option Core.Primitive.t_u64) - -> - true); - f_forward_checked - = - fun (start: Core.Primitive.t_u64) (n: Core.Primitive.t_usize) -> - match - Core.Convert.f_try_from #Core.Primitive.t_u64 - #Core.Primitive.t_usize - #FStar.Tactics.Typeclasses.solve - n - with - | Core.Result.Result_Ok n -> Core.Num.impl_9__checked_add start n - | Core.Result.Result_Err _ -> - Core.Option.Option_None <: Core.Option.t_Option Core.Primitive.t_u64 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_7: t_Step Core.Primitive.t_u128 = - { - _super_9442900250278684536 = FStar.Tactics.Typeclasses.solve; - _super_12866954522599331834 = FStar.Tactics.Typeclasses.solve; - f_steps_between_pre - = - (fun (start: Core.Primitive.t_u128) (v_end: Core.Primitive.t_u128) -> true); - f_steps_between_post - = - (fun - (start: Core.Primitive.t_u128) - (v_end: Core.Primitive.t_u128) - (out: Core.Option.t_Option Core.Primitive.t_usize) - -> - true); - f_steps_between - = - (fun (start: Core.Primitive.t_u128) (v_end: Core.Primitive.t_u128) -> - if start <=. v_end - then - Core.Result.impl__ok #Core.Primitive.t_usize - #Core.Convert.t_Infallible - (Core.Convert.f_try_from #Core.Primitive.t_usize - #Core.Primitive.t_u128 - #FStar.Tactics.Typeclasses.solve - ((Core.Clone.f_clone #Core.Primitive.t_u128 #FStar.Tactics.Typeclasses.solve v_end - <: - Core.Primitive.t_u128) -! - (Core.Clone.f_clone #Core.Primitive.t_u128 #FStar.Tactics.Typeclasses.solve start - <: - Core.Primitive.t_u128) - <: - Core.Primitive.t_u128) - <: - Core.Result.t_Result Core.Primitive.t_usize Core.Convert.t_Infallible) - else Core.Option.Option_None <: Core.Option.t_Option Core.Primitive.t_usize); - f_forward_checked_pre = (fun (start: Core.Primitive.t_u128) (n: Core.Primitive.t_usize) -> true); - f_forward_checked_post - = - (fun - (start: Core.Primitive.t_u128) - (n: Core.Primitive.t_usize) - (out: Core.Option.t_Option Core.Primitive.t_u128) - -> - true); - f_forward_checked - = - fun (start: Core.Primitive.t_u128) (n: Core.Primitive.t_usize) -> - Core.Option.Option_None <: Core.Option.t_Option Core.Primitive.t_u128 - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_6: t_Step Core.Primitive.t_usize = - { - _super_9442900250278684536 = FStar.Tactics.Typeclasses.solve; - _super_12866954522599331834 = FStar.Tactics.Typeclasses.solve; - f_steps_between_pre - = - (fun (start: Core.Primitive.t_usize) (v_end: Core.Primitive.t_usize) -> true); - f_steps_between_post - = - (fun - (start: Core.Primitive.t_usize) - (v_end: Core.Primitive.t_usize) - (out: Core.Option.t_Option Core.Primitive.t_usize) - -> - true); - f_steps_between - = - (fun (start: Core.Primitive.t_usize) (v_end: Core.Primitive.t_usize) -> - if start <=. v_end - then - Core.Option.Option_Some - (Core.Convert.f_into #Core.Primitive.t_usize - #Core.Primitive.t_usize - #FStar.Tactics.Typeclasses.solve - ((Core.Clone.f_clone #Core.Primitive.t_usize #FStar.Tactics.Typeclasses.solve v_end - <: - Core.Primitive.t_usize) -! - (Core.Clone.f_clone #Core.Primitive.t_usize #FStar.Tactics.Typeclasses.solve start - <: - Core.Primitive.t_usize) - <: - Core.Primitive.t_usize)) - <: - Core.Option.t_Option Core.Primitive.t_usize - else Core.Option.Option_None <: Core.Option.t_Option Core.Primitive.t_usize); - f_forward_checked_pre - = - (fun (start: Core.Primitive.t_usize) (n: Core.Primitive.t_usize) -> true); - f_forward_checked_post - = - (fun - (start: Core.Primitive.t_usize) - (n: Core.Primitive.t_usize) - (out: Core.Option.t_Option Core.Primitive.t_usize) - -> - true); - f_forward_checked - = - fun (start: Core.Primitive.t_usize) (n: Core.Primitive.t_usize) -> - match - Core.Convert.f_try_from #Core.Primitive.t_usize - #Core.Primitive.t_usize - #FStar.Tactics.Typeclasses.solve - n - with - | Core.Result.Result_Ok n -> Core.Num.impl_11__checked_add start n - | Core.Result.Result_Err _ -> - Core.Option.Option_None <: Core.Option.t_Option Core.Primitive.t_usize - } diff --git a/proof-libs/fstar/generated-core/Core.Iter.Traits.Collect.fst b/proof-libs/fstar/generated-core/Core.Iter.Traits.Collect.fst deleted file mode 100644 index 489e6afdd..000000000 --- a/proof-libs/fstar/generated-core/Core.Iter.Traits.Collect.fst +++ /dev/null @@ -1,37 +0,0 @@ -module Core.Iter.Traits.Collect -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -class t_IntoIterator (v_Self: Type0) = { - f_Item:Type0; - f_IntoIter:Type0; - f_IntoIter_7190679858849254189:Core.Iter.Traits.Iterator.t_Iterator f_IntoIter; - f_into_iter_pre:v_Self -> Type0; - f_into_iter_post:v_Self -> f_IntoIter -> Type0; - f_into_iter:x0: v_Self - -> Prims.Pure f_IntoIter (f_into_iter_pre x0) (fun result -> f_into_iter_post x0 result) -} - -class t_FromIterator (v_Self: Type0) (v_A: Type0) = { - f_from_iter_pre:#v_T: Type0 -> {| i1: t_IntoIterator v_T |} -> v_T -> Type0; - f_from_iter_post:#v_T: Type0 -> {| i1: t_IntoIterator v_T |} -> v_T -> v_Self -> Type0; - f_from_iter:#v_T: Type0 -> {| i1: t_IntoIterator v_T |} -> x0: v_T - -> Prims.Pure v_Self - (f_from_iter_pre #v_T #i1 x0) - (fun result -> f_from_iter_post #v_T #i1 x0 result) -} - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl - (#v_I: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Iter.Traits.Iterator.t_Iterator v_I) - : t_IntoIterator v_I = - { - f_Item = i1.f_Item; - f_IntoIter = v_I; - f_IntoIter_7190679858849254189 = FStar.Tactics.Typeclasses.solve; - f_into_iter_pre = (fun (self: v_I) -> true); - f_into_iter_post = (fun (self: v_I) (out: v_I) -> true); - f_into_iter = fun (self: v_I) -> self - } diff --git a/proof-libs/fstar/generated-core/Core.Iter.Traits.Exact_size.fst b/proof-libs/fstar/generated-core/Core.Iter.Traits.Exact_size.fst deleted file mode 100644 index 6454d73cb..000000000 --- a/proof-libs/fstar/generated-core/Core.Iter.Traits.Exact_size.fst +++ /dev/null @@ -1,16 +0,0 @@ -module Core.Iter.Traits.Exact_size -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -class t_ExactSizeIterator (v_Self: Type0) = { - [@@@ FStar.Tactics.Typeclasses.no_method]_super_15444444506782437531:Core.Iter.Traits.Iterator.t_Iterator - v_Self; - f_len_pre:v_Self -> Type0; - f_len_post:v_Self -> usize -> Type0; - f_len:x0: v_Self -> Prims.Pure usize (f_len_pre x0) (fun result -> f_len_post x0 result); - f_is_empty_pre:v_Self -> Type0; - f_is_empty_post:v_Self -> bool -> Type0; - f_is_empty:x0: v_Self - -> Prims.Pure bool (f_is_empty_pre x0) (fun result -> f_is_empty_post x0 result) -} diff --git a/proof-libs/fstar/generated-core/Core.Iter.Traits.Iterator.fst b/proof-libs/fstar/generated-core/Core.Iter.Traits.Iterator.fst deleted file mode 100644 index 786522b38..000000000 --- a/proof-libs/fstar/generated-core/Core.Iter.Traits.Iterator.fst +++ /dev/null @@ -1,47 +0,0 @@ -module Core.Iter.Traits.Iterator -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -class t_Iterator (v_Self: Type0) = { - f_Item:Type0; - f_next_pre:v_Self -> Type0; - f_next_post:v_Self -> (v_Self & Core.Option.t_Option f_Item) -> Type0; - f_next:x0: v_Self - -> Prims.Pure (v_Self & Core.Option.t_Option f_Item) - (f_next_pre x0) - (fun result -> f_next_post x0 result); - f_size_hint_pre:v_Self -> Type0; - f_size_hint_post:v_Self -> (usize & Core.Option.t_Option usize) -> Type0; - f_size_hint:x0: v_Self - -> Prims.Pure (usize & Core.Option.t_Option usize) - (f_size_hint_pre x0) - (fun result -> f_size_hint_post x0 result); - f_fold_pre: - #v_B: Type0 -> - #v_F: Type0 -> - {| i4: Core.Ops.Function.t_FnMut v_F (v_B & f_Item) |} -> - v_Self -> - v_B -> - v_F - -> Type0; - f_fold_post: - #v_B: Type0 -> - #v_F: Type0 -> - {| i4: Core.Ops.Function.t_FnMut v_F (v_B & f_Item) |} -> - v_Self -> - v_B -> - v_F -> - v_B - -> Type0; - f_fold: - #v_B: Type0 -> - #v_F: Type0 -> - {| i4: Core.Ops.Function.t_FnMut v_F (v_B & f_Item) |} -> - x0: v_Self -> - x1: v_B -> - x2: v_F - -> Prims.Pure v_B - (f_fold_pre #v_B #v_F #i4 x0 x1 x2) - (fun result -> f_fold_post #v_B #v_F #i4 x0 x1 x2 result) -} diff --git a/proof-libs/fstar/generated-core/Core.Iter.Traits.Marker.fst b/proof-libs/fstar/generated-core/Core.Iter.Traits.Marker.fst deleted file mode 100644 index 0992457f1..000000000 --- a/proof-libs/fstar/generated-core/Core.Iter.Traits.Marker.fst +++ /dev/null @@ -1,21 +0,0 @@ -module Core.Iter.Traits.Marker -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -class t_TrustedFused (v_Self: Type0) = { __marker_trait_t_TrustedFused:Prims.unit } - -class t_TrustedStep (v_Self: Type0) = { - [@@@ FStar.Tactics.Typeclasses.no_method]_super_13722385431118852294:Core.Iter.Range.t_Step v_Self; - [@@@ FStar.Tactics.Typeclasses.no_method]_super_11581440318597584651:Core.Marker.t_Copy v_Self -} - -class t_FusedIterator (v_Self: Type0) = { - [@@@ FStar.Tactics.Typeclasses.no_method]_super_15444444506782437531:Core.Iter.Traits.Iterator.t_Iterator - v_Self -} - -class t_TrustedLen (v_Self: Type0) = { - [@@@ FStar.Tactics.Typeclasses.no_method]_super_15444444506782437531:Core.Iter.Traits.Iterator.t_Iterator - v_Self -} diff --git a/proof-libs/fstar/generated-core/Core.Marker.fst b/proof-libs/fstar/generated-core/Core.Marker.fst deleted file mode 100644 index 4c409c9a9..000000000 --- a/proof-libs/fstar/generated-core/Core.Marker.fst +++ /dev/null @@ -1,14 +0,0 @@ -module Core.Marker -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -class t_Copy (v_Self: Type0) = { - [@@@ FStar.Tactics.Typeclasses.no_method]_super_9442900250278684536:Core.Clone.t_Clone v_Self -} - -class t_Destruct (v_Self: Type0) = { __marker_trait_t_Destruct:Prims.unit } - -class t_Sized (v_Self: Type0) = { __marker_trait_t_Sized:Prims.unit } - -class t_Tuple (v_Self: Type0) = { __marker_trait_t_Tuple:Prims.unit } diff --git a/proof-libs/fstar/generated-core/Core.Num.fst b/proof-libs/fstar/generated-core/Core.Num.fst deleted file mode 100644 index bbb03f4a4..000000000 --- a/proof-libs/fstar/generated-core/Core.Num.fst +++ /dev/null @@ -1,472 +0,0 @@ -module Core.Num -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -include Core.Array.Rec_bundle_579704328 {from_le715594649 as impl_10__from_le} - -include Core.Array.Rec_bundle_579704328 {to_le902648378 as impl_10__to_le} - -include Core.Array.Rec_bundle_579704328 {from_le793045973 as impl_7__from_le} - -include Core.Array.Rec_bundle_579704328 {to_le1012469456 as impl_7__to_le} - -include Core.Array.Rec_bundle_579704328 {from_le706338679 as impl_8__from_le} - -include Core.Array.Rec_bundle_579704328 {to_le724624277 as impl_8__to_le} - -include Core.Array.Rec_bundle_579704328 {from_le435089922 as impl_9__from_le} - -include Core.Array.Rec_bundle_579704328 {to_le2703875 as impl_9__to_le} - -include Core.Array.Rec_bundle_579704328 {from_le529489651 as impl_6__from_le} - -include Core.Array.Rec_bundle_579704328 {to_le523556665 as impl_6__to_le} - -include Core.Array.Rec_bundle_579704328 {from_le418743864 as impl_11__from_le} - -include Core.Array.Rec_bundle_579704328 {to_le946822077 as impl_11__to_le} - -include Core.Array.Rec_bundle_579704328 {v_BITS80497669 as impl__i8__BITS} - -include Core.Array.Rec_bundle_579704328 {v_MAX626626007 as impl__i8__MAX} - -include Core.Array.Rec_bundle_579704328 {v_MIN19747349 as impl__i8__MIN} - -include Core.Array.Rec_bundle_579704328 {v_BITS421056295 as impl__i16__BITS} - -include Core.Array.Rec_bundle_579704328 {v_MAX474501300 as impl__i16__MAX} - -include Core.Array.Rec_bundle_579704328 {v_MIN776391606 as impl__i16__MIN} - -include Core.Array.Rec_bundle_579704328 {v_BITS465526498 as impl_2__BITS} - -include Core.Array.Rec_bundle_579704328 {v_MAX106630818 as impl_2__MAX} - -include Core.Array.Rec_bundle_579704328 {v_MIN682967538 as impl_2__MIN} - -include Core.Array.Rec_bundle_579704328 {v_BITS419886578 as impl__i64__BITS} - -include Core.Array.Rec_bundle_579704328 {v_MAX527043787 as impl__i64__MAX} - -include Core.Array.Rec_bundle_579704328 {v_MIN654206259 as impl__i64__MIN} - -include Core.Array.Rec_bundle_579704328 {v_BITS992667165 as impl__i128__BITS} - -include Core.Array.Rec_bundle_579704328 {v_MAX375377319 as impl__i128__MAX} - -include Core.Array.Rec_bundle_579704328 {v_MIN79612531 as impl__i128__MIN} - -include Core.Array.Rec_bundle_579704328 {v_BITS211584016 as impl__isize__BITS} - -include Core.Array.Rec_bundle_579704328 {v_MAX937003029 as impl__isize__MAX} - -include Core.Array.Rec_bundle_579704328 {v_MIN1017039533 as impl__isize__MIN} - -include Core.Array.Rec_bundle_579704328 {v_BITS690311813 as impl_6__BITS} - -include Core.Array.Rec_bundle_579704328 {v_MAX310118176 as impl_6__MAX} - -include Core.Array.Rec_bundle_579704328 {v_MIN41851434 as impl_6__MIN} - -include Core.Array.Rec_bundle_579704328 {v_BITS277333551 as impl_7__BITS} - -include Core.Array.Rec_bundle_579704328 {v_MAX487295910 as impl_7__MAX} - -include Core.Array.Rec_bundle_579704328 {v_MIN592300287 as impl_7__MIN} - -include Core.Array.Rec_bundle_579704328 {v_BITS473478051 as impl_8__BITS} - -include Core.Array.Rec_bundle_579704328 {v_MAX826434525 as impl_8__MAX} - -include Core.Array.Rec_bundle_579704328 {v_MIN932777089 as impl_8__MIN} - -include Core.Array.Rec_bundle_579704328 {v_BITS177666292 as impl_9__BITS} - -include Core.Array.Rec_bundle_579704328 {v_MAX815180633 as impl_9__MAX} - -include Core.Array.Rec_bundle_579704328 {v_MIN631333594 as impl_9__MIN} - -include Core.Array.Rec_bundle_579704328 {v_BITS136999051 as impl_10__BITS} - -include Core.Array.Rec_bundle_579704328 {v_MAX404543799 as impl_10__MAX} - -include Core.Array.Rec_bundle_579704328 {v_MIN668621698 as impl_10__MIN} - -include Core.Array.Rec_bundle_579704328 {v_BITS229952196 as impl_11__BITS} - -include Core.Array.Rec_bundle_579704328 {v_MAX750570916 as impl_11__MAX} - -include Core.Array.Rec_bundle_579704328 {v_MIN861571008 as impl_11__MIN} - -include Core.Array.Rec_bundle_579704328 {is_negative350273175 as impl__i8__is_negative} - -include Core.Array.Rec_bundle_579704328 {is_positive286955196 as impl__i8__is_positive} - -include Core.Array.Rec_bundle_579704328 {signum721334203 as impl__i8__signum} - -include Core.Array.Rec_bundle_579704328 {is_negative477067241 as impl__i16__is_negative} - -include Core.Array.Rec_bundle_579704328 {is_positive821581438 as impl__i16__is_positive} - -include Core.Array.Rec_bundle_579704328 {signum243706004 as impl__i16__signum} - -include Core.Array.Rec_bundle_579704328 {is_negative1035644813 as impl_2__is_negative} - -include Core.Array.Rec_bundle_579704328 {is_positive401652342 as impl_2__is_positive} - -include Core.Array.Rec_bundle_579704328 {signum323641039 as impl_2__signum} - -include Core.Array.Rec_bundle_579704328 {is_negative1066124578 as impl__i64__is_negative} - -include Core.Array.Rec_bundle_579704328 {is_positive16569358 as impl__i64__is_positive} - -include Core.Array.Rec_bundle_579704328 {signum582963664 as impl__i64__signum} - -include Core.Array.Rec_bundle_579704328 {is_negative221698470 as impl__i128__is_negative} - -include Core.Array.Rec_bundle_579704328 {is_positive883218309 as impl__i128__is_positive} - -include Core.Array.Rec_bundle_579704328 {signum408800799 as impl__i128__signum} - -include Core.Array.Rec_bundle_579704328 {is_negative693446369 as impl__isize__is_negative} - -include Core.Array.Rec_bundle_579704328 {is_positive169998680 as impl__isize__is_positive} - -include Core.Array.Rec_bundle_579704328 {signum91486536 as impl__isize__signum} - -include Core.Array.Rec_bundle_579704328 {checked_add268751055 as impl_6__checked_add} - -include Core.Array.Rec_bundle_579704328 {checked_add132377399 as impl_7__checked_add} - -include Core.Array.Rec_bundle_579704328 {checked_add985437730 as impl_8__checked_add} - -include Core.Array.Rec_bundle_579704328 {checked_add586246465 as impl_9__checked_add} - -include Core.Array.Rec_bundle_579704328 {checked_add218978451 as impl_10__checked_add} - -include Core.Array.Rec_bundle_579704328 {checked_add984013567 as impl_11__checked_add} - -include Core.Array.Rec_bundle_579704328 {wrapping_add634491935 as impl__i8__wrapping_add} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub973428293 as impl__i8__wrapping_sub} - -include Core.Array.Rec_bundle_579704328 {wrapping_neg400701205 as impl__i8__wrapping_neg} - -include Core.Array.Rec_bundle_579704328 {wrapping_abs400396545 as impl__i8__wrapping_abs} - -include Core.Array.Rec_bundle_579704328 {wrapping_add868559108 as impl__i16__wrapping_add} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub189469152 as impl__i16__wrapping_sub} - -include Core.Array.Rec_bundle_579704328 {wrapping_neg860505723 as impl__i16__wrapping_neg} - -include Core.Array.Rec_bundle_579704328 {wrapping_abs229076826 as impl__i16__wrapping_abs} - -include Core.Array.Rec_bundle_579704328 {wrapping_add475006616 as impl_2__wrapping_add} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub298337071 as impl_2__wrapping_sub} - -include Core.Array.Rec_bundle_579704328 {wrapping_neg636433078 as impl_2__wrapping_neg} - -include Core.Array.Rec_bundle_579704328 {wrapping_abs729536875 as impl_2__wrapping_abs} - -include Core.Array.Rec_bundle_579704328 {wrapping_add590074241 as impl__i64__wrapping_add} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub334584751 as impl__i64__wrapping_sub} - -include Core.Array.Rec_bundle_579704328 {wrapping_neg868282938 as impl__i64__wrapping_neg} - -include Core.Array.Rec_bundle_579704328 {wrapping_abs285829312 as impl__i64__wrapping_abs} - -include Core.Array.Rec_bundle_579704328 {wrapping_add251385439 as impl__i128__wrapping_add} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub681598071 as impl__i128__wrapping_sub} - -include Core.Array.Rec_bundle_579704328 {wrapping_neg446546984 as impl__i128__wrapping_neg} - -include Core.Array.Rec_bundle_579704328 {wrapping_abs281925696 as impl__i128__wrapping_abs} - -include Core.Array.Rec_bundle_579704328 {wrapping_add226040243 as impl__isize__wrapping_add} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub698035192 as impl__isize__wrapping_sub} - -include Core.Array.Rec_bundle_579704328 {wrapping_neg912291768 as impl__isize__wrapping_neg} - -include Core.Array.Rec_bundle_579704328 {wrapping_abs347300819 as impl__isize__wrapping_abs} - -include Core.Array.Rec_bundle_579704328 {checked_div508301931 as impl_6__checked_div} - -include Core.Array.Rec_bundle_579704328 {overflowing_add708890057 as impl_6__overflowing_add} - -include Core.Array.Rec_bundle_579704328 {checked_div614920780 as impl_7__checked_div} - -include Core.Array.Rec_bundle_579704328 {overflowing_add1023344178 as impl_7__overflowing_add} - -include Core.Array.Rec_bundle_579704328 {checked_div979383477 as impl_8__checked_div} - -include Core.Array.Rec_bundle_579704328 {overflowing_add905744292 as impl_8__overflowing_add} - -include Core.Array.Rec_bundle_579704328 {checked_div988689127 as impl_9__checked_div} - -include Core.Array.Rec_bundle_579704328 {overflowing_add581983607 as impl_9__overflowing_add} - -include Core.Array.Rec_bundle_579704328 {checked_div344106746 as impl_10__checked_div} - -include Core.Array.Rec_bundle_579704328 {overflowing_add458293681 as impl_10__overflowing_add} - -include Core.Array.Rec_bundle_579704328 {checked_div80223906 as impl_11__checked_div} - -include Core.Array.Rec_bundle_579704328 {overflowing_add682280407 as impl_11__overflowing_add} - -include Core.Array.Rec_bundle_579704328 {abs945505614 as impl__i8__abs} - -include Core.Array.Rec_bundle_579704328 {abs581170970 as impl__i16__abs} - -include Core.Array.Rec_bundle_579704328 {abs590464694 as impl_2__abs} - -include Core.Array.Rec_bundle_579704328 {abs654781043 as impl__i64__abs} - -include Core.Array.Rec_bundle_579704328 {abs204417539 as impl__i128__abs} - -include Core.Array.Rec_bundle_579704328 {abs220926056 as impl__isize__abs} - -include Core.Array.Rec_bundle_579704328 {wrapping_add480603777 as impl_6__wrapping_add} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul885216284 as impl_6__wrapping_mul} - -include Core.Array.Rec_bundle_579704328 {wrapping_add124432709 as impl_7__wrapping_add} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul14465189 as impl_7__wrapping_mul} - -include Core.Array.Rec_bundle_579704328 {wrapping_add1049665857 as impl_8__wrapping_add} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul203346768 as impl_8__wrapping_mul} - -include Core.Array.Rec_bundle_579704328 {wrapping_add865565639 as impl_9__wrapping_add} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul742978873 as impl_9__wrapping_mul} - -include Core.Array.Rec_bundle_579704328 {wrapping_add40844100 as impl_10__wrapping_add} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul294115024 as impl_10__wrapping_mul} - -include Core.Array.Rec_bundle_579704328 {wrapping_add427637036 as impl_11__wrapping_add} - -include Core.Array.Rec_bundle_579704328 {wrapping_mul680896953 as impl_11__wrapping_mul} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub403906422 as impl_6__wrapping_sub} - -include Core.Array.Rec_bundle_579704328 {wrapping_neg123212788 as impl_6__wrapping_neg} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub811251034 as impl_7__wrapping_sub} - -include Core.Array.Rec_bundle_579704328 {wrapping_neg128555595 as impl_7__wrapping_neg} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub708953500 as impl_8__wrapping_sub} - -include Core.Array.Rec_bundle_579704328 {wrapping_neg328220773 as impl_8__wrapping_neg} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub762520851 as impl_9__wrapping_sub} - -include Core.Array.Rec_bundle_579704328 {wrapping_neg617136337 as impl_9__wrapping_neg} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub409310259 as impl_10__wrapping_sub} - -include Core.Array.Rec_bundle_579704328 {wrapping_neg729451428 as impl_10__wrapping_neg} - -include Core.Array.Rec_bundle_579704328 {wrapping_sub813101882 as impl_11__wrapping_sub} - -include Core.Array.Rec_bundle_579704328 {wrapping_neg342773446 as impl_11__wrapping_neg} - -include Core.Array.Rec_bundle_579704328 {wrapping_div660080892 as impl_6__wrapping_div} - -include Core.Array.Rec_bundle_579704328 {wrapping_div_euclid481233436 as impl_6__wrapping_div_euclid} - -include Core.Array.Rec_bundle_579704328 {wrapping_div366977334 as impl_7__wrapping_div} - -include Core.Array.Rec_bundle_579704328 {wrapping_div_euclid22267888 as impl_7__wrapping_div_euclid} - -include Core.Array.Rec_bundle_579704328 {wrapping_div931150450 as impl_8__wrapping_div} - -include Core.Array.Rec_bundle_579704328 {wrapping_div_euclid606291997 as impl_8__wrapping_div_euclid} - -include Core.Array.Rec_bundle_579704328 {wrapping_div168427046 as impl_9__wrapping_div} - -include Core.Array.Rec_bundle_579704328 {wrapping_div_euclid321252086 as impl_9__wrapping_div_euclid} - -include Core.Array.Rec_bundle_579704328 {wrapping_div692427683 as impl_10__wrapping_div} - -include Core.Array.Rec_bundle_579704328 {wrapping_div_euclid926334515 as impl_10__wrapping_div_euclid} - -include Core.Array.Rec_bundle_579704328 {wrapping_div905768546 as impl_11__wrapping_div} - -include Core.Array.Rec_bundle_579704328 {wrapping_div_euclid90317722 as impl_11__wrapping_div_euclid} - -include Core.Array.Rec_bundle_579704328 {wrapping_rem984569721 as impl_6__wrapping_rem} - -include Core.Array.Rec_bundle_579704328 {wrapping_rem_euclid946579345 as impl_6__wrapping_rem_euclid} - -include Core.Array.Rec_bundle_579704328 {wrapping_rem378598035 as impl_7__wrapping_rem} - -include Core.Array.Rec_bundle_579704328 {wrapping_rem_euclid602402638 as impl_7__wrapping_rem_euclid} - -include Core.Array.Rec_bundle_579704328 {wrapping_rem292009099 as impl_8__wrapping_rem} - -include Core.Array.Rec_bundle_579704328 {wrapping_rem_euclid1020271291 as impl_8__wrapping_rem_euclid} - -include Core.Array.Rec_bundle_579704328 {wrapping_rem390602260 as impl_9__wrapping_rem} - -include Core.Array.Rec_bundle_579704328 {wrapping_rem_euclid839264546 as impl_9__wrapping_rem_euclid} - -include Core.Array.Rec_bundle_579704328 {wrapping_rem332379920 as impl_10__wrapping_rem} - -include Core.Array.Rec_bundle_579704328 {wrapping_rem_euclid646122423 as impl_10__wrapping_rem_euclid} - -include Core.Array.Rec_bundle_579704328 {wrapping_rem333089373 as impl_11__wrapping_rem} - -include Core.Array.Rec_bundle_579704328 {wrapping_rem_euclid769656504 as impl_11__wrapping_rem_euclid} - -include Core.Array.Rec_bundle_579704328 {rotate_left792925914 as impl_6__rotate_left} - -include Core.Array.Rec_bundle_579704328 {rotate_right166090082 as impl_6__rotate_right} - -include Core.Array.Rec_bundle_579704328 {rotate_left297034175 as impl_7__rotate_left} - -include Core.Array.Rec_bundle_579704328 {rotate_right138522246 as impl_7__rotate_right} - -include Core.Array.Rec_bundle_579704328 {rotate_left823573251 as impl_8__rotate_left} - -include Core.Array.Rec_bundle_579704328 {rotate_right869195717 as impl_8__rotate_right} - -include Core.Array.Rec_bundle_579704328 {rotate_left618936072 as impl_9__rotate_left} - -include Core.Array.Rec_bundle_579704328 {rotate_right1041614027 as impl_9__rotate_right} - -include Core.Array.Rec_bundle_579704328 {rotate_left1065866885 as impl_10__rotate_left} - -include Core.Array.Rec_bundle_579704328 {rotate_right591112338 as impl_10__rotate_right} - -include Core.Array.Rec_bundle_579704328 {rotate_left996672710 as impl_11__rotate_left} - -include Core.Array.Rec_bundle_579704328 {rotate_right442734174 as impl_11__rotate_right} - -include Core.Array.Rec_bundle_579704328 {count_ones202509899 as impl_6__count_ones} - -include Core.Array.Rec_bundle_579704328 {leading_zeros75047366 as impl_6__leading_zeros} - -include Core.Array.Rec_bundle_579704328 {swap_bytes657156997 as impl_6__swap_bytes} - -include Core.Array.Rec_bundle_579704328 {from_be746282521 as impl_6__from_be} - -include Core.Array.Rec_bundle_579704328 {to_be972448780 as impl_6__to_be} - -include Core.Array.Rec_bundle_579704328 {trailing_zeros572929871 as impl_6__trailing_zeros} - -include Core.Array.Rec_bundle_579704328 {count_ones91875752 as impl_7__count_ones} - -include Core.Array.Rec_bundle_579704328 {leading_zeros462412478 as impl_7__leading_zeros} - -include Core.Array.Rec_bundle_579704328 {swap_bytes926722059 as impl_7__swap_bytes} - -include Core.Array.Rec_bundle_579704328 {from_be510959665 as impl_7__from_be} - -include Core.Array.Rec_bundle_579704328 {to_be551590602 as impl_7__to_be} - -include Core.Array.Rec_bundle_579704328 {trailing_zeros421474733 as impl_7__trailing_zeros} - -include Core.Array.Rec_bundle_579704328 {count_ones776185738 as impl_8__count_ones} - -include Core.Array.Rec_bundle_579704328 {leading_zeros698221972 as impl_8__leading_zeros} - -include Core.Array.Rec_bundle_579704328 {swap_bytes320480126 as impl_8__swap_bytes} - -include Core.Array.Rec_bundle_579704328 {from_be664756649 as impl_8__from_be} - -include Core.Array.Rec_bundle_579704328 {to_be82825962 as impl_8__to_be} - -include Core.Array.Rec_bundle_579704328 {trailing_zeros1061560720 as impl_8__trailing_zeros} - -include Core.Array.Rec_bundle_579704328 {count_ones235885653 as impl_9__count_ones} - -include Core.Array.Rec_bundle_579704328 {leading_zeros338302110 as impl_9__leading_zeros} - -include Core.Array.Rec_bundle_579704328 {swap_bytes722254271 as impl_9__swap_bytes} - -include Core.Array.Rec_bundle_579704328 {from_be16013635 as impl_9__from_be} - -include Core.Array.Rec_bundle_579704328 {to_be376714729 as impl_9__to_be} - -include Core.Array.Rec_bundle_579704328 {trailing_zeros188346231 as impl_9__trailing_zeros} - -include Core.Array.Rec_bundle_579704328 {count_ones926736261 as impl_10__count_ones} - -include Core.Array.Rec_bundle_579704328 {leading_zeros19644612 as impl_10__leading_zeros} - -include Core.Array.Rec_bundle_579704328 {swap_bytes420879368 as impl_10__swap_bytes} - -include Core.Array.Rec_bundle_579704328 {from_be191085771 as impl_10__from_be} - -include Core.Array.Rec_bundle_579704328 {to_be555075987 as impl_10__to_be} - -include Core.Array.Rec_bundle_579704328 {trailing_zeros821715250 as impl_10__trailing_zeros} - -include Core.Array.Rec_bundle_579704328 {count_ones441645762 as impl_11__count_ones} - -include Core.Array.Rec_bundle_579704328 {leading_zeros905233489 as impl_11__leading_zeros} - -include Core.Array.Rec_bundle_579704328 {swap_bytes268673424 as impl_11__swap_bytes} - -include Core.Array.Rec_bundle_579704328 {from_be607978059 as impl_11__from_be} - -include Core.Array.Rec_bundle_579704328 {to_be561847134 as impl_11__to_be} - -include Core.Array.Rec_bundle_579704328 {trailing_zeros42066260 as impl_11__trailing_zeros} - -include Core.Array.Rec_bundle_579704328 {rem_euclid622298453 as impl__i8__rem_euclid} - -include Core.Array.Rec_bundle_579704328 {rem_euclid158017644 as impl__i16__rem_euclid} - -include Core.Array.Rec_bundle_579704328 {rem_euclid881249982 as impl_2__rem_euclid} - -include Core.Array.Rec_bundle_579704328 {rem_euclid1057082210 as impl__i64__rem_euclid} - -include Core.Array.Rec_bundle_579704328 {rem_euclid254910751 as impl__i128__rem_euclid} - -include Core.Array.Rec_bundle_579704328 {rem_euclid828379367 as impl__isize__rem_euclid} - -include Core.Array.Rec_bundle_579704328 {count_zeros558337492 as impl_6__count_zeros} - -include Core.Array.Rec_bundle_579704328 {leading_ones55148479 as impl_6__leading_ones} - -include Core.Array.Rec_bundle_579704328 {trailing_ones359778731 as impl_6__trailing_ones} - -include Core.Array.Rec_bundle_579704328 {count_zeros199825317 as impl_7__count_zeros} - -include Core.Array.Rec_bundle_579704328 {leading_ones164277656 as impl_7__leading_ones} - -include Core.Array.Rec_bundle_579704328 {trailing_ones903944727 as impl_7__trailing_ones} - -include Core.Array.Rec_bundle_579704328 {count_zeros942566041 as impl_8__count_zeros} - -include Core.Array.Rec_bundle_579704328 {leading_ones766486760 as impl_8__leading_ones} - -include Core.Array.Rec_bundle_579704328 {trailing_ones223371510 as impl_8__trailing_ones} - -include Core.Array.Rec_bundle_579704328 {count_zeros60346158 as impl_9__count_zeros} - -include Core.Array.Rec_bundle_579704328 {leading_ones404666910 as impl_9__leading_ones} - -include Core.Array.Rec_bundle_579704328 {trailing_ones601201120 as impl_9__trailing_ones} - -include Core.Array.Rec_bundle_579704328 {count_zeros824862815 as impl_10__count_zeros} - -include Core.Array.Rec_bundle_579704328 {leading_ones475503572 as impl_10__leading_ones} - -include Core.Array.Rec_bundle_579704328 {trailing_ones705845381 as impl_10__trailing_ones} - -include Core.Array.Rec_bundle_579704328 {count_zeros73479642 as impl_11__count_zeros} - -include Core.Array.Rec_bundle_579704328 {leading_ones667660708 as impl_11__leading_ones} - -include Core.Array.Rec_bundle_579704328 {trailing_ones979548463 as impl_11__trailing_ones} diff --git a/proof-libs/fstar/generated-core/Core.Ops.Arith.Impls_for_prims.fst b/proof-libs/fstar/generated-core/Core.Ops.Arith.Impls_for_prims.fst deleted file mode 100644 index f5cce5147..000000000 --- a/proof-libs/fstar/generated-core/Core.Ops.Arith.Impls_for_prims.fst +++ /dev/null @@ -1,136 +0,0 @@ -module Core.Ops.Arith.Impls_for_prims -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -include Core.Array.Rec_bundle_579704328 {impl as impl} - -include Core.Array.Rec_bundle_579704328 {impl_1 as impl_1} - -include Core.Array.Rec_bundle_579704328 {impl_2 as impl_2} - -include Core.Array.Rec_bundle_579704328 {impl_3 as impl_3} - -include Core.Array.Rec_bundle_579704328 {impl_4 as impl_4} - -include Core.Array.Rec_bundle_579704328 {impl_5 as impl_5} - -include Core.Array.Rec_bundle_579704328 {impl_12 as impl_12} - -include Core.Array.Rec_bundle_579704328 {impl_13 as impl_13} - -include Core.Array.Rec_bundle_579704328 {impl_14 as impl_14} - -include Core.Array.Rec_bundle_579704328 {impl_15 as impl_15} - -include Core.Array.Rec_bundle_579704328 {impl_16 as impl_16} - -include Core.Array.Rec_bundle_579704328 {impl_17 as impl_17} - -include Core.Array.Rec_bundle_579704328 {impl_24 as impl_24} - -include Core.Array.Rec_bundle_579704328 {impl_25 as impl_25} - -include Core.Array.Rec_bundle_579704328 {impl_26 as impl_26} - -include Core.Array.Rec_bundle_579704328 {impl_27 as impl_27} - -include Core.Array.Rec_bundle_579704328 {impl_28 as impl_28} - -include Core.Array.Rec_bundle_579704328 {impl_29 as impl_29} - -include Core.Array.Rec_bundle_579704328 {impl_6 as impl_6} - -include Core.Array.Rec_bundle_579704328 {impl_7 as impl_7} - -include Core.Array.Rec_bundle_579704328 {impl_8 as impl_8} - -include Core.Array.Rec_bundle_579704328 {impl_9 as impl_9} - -include Core.Array.Rec_bundle_579704328 {impl_10 as impl_10} - -include Core.Array.Rec_bundle_579704328 {impl_11 as impl_11} - -include Core.Array.Rec_bundle_579704328 {impl_30 as impl_30} - -include Core.Array.Rec_bundle_579704328 {impl_31 as impl_31} - -include Core.Array.Rec_bundle_579704328 {impl_32 as impl_32} - -include Core.Array.Rec_bundle_579704328 {impl_33 as impl_33} - -include Core.Array.Rec_bundle_579704328 {impl_34 as impl_34} - -include Core.Array.Rec_bundle_579704328 {impl_35 as impl_35} - -include Core.Array.Rec_bundle_579704328 {impl_36 as impl_36} - -include Core.Array.Rec_bundle_579704328 {impl_37 as impl_37} - -include Core.Array.Rec_bundle_579704328 {impl_38 as impl_38} - -include Core.Array.Rec_bundle_579704328 {impl_39 as impl_39} - -include Core.Array.Rec_bundle_579704328 {impl_40 as impl_40} - -include Core.Array.Rec_bundle_579704328 {impl_41 as impl_41} - -include Core.Array.Rec_bundle_579704328 {impl_42 as impl_42} - -include Core.Array.Rec_bundle_579704328 {impl_43 as impl_43} - -include Core.Array.Rec_bundle_579704328 {impl_44 as impl_44} - -include Core.Array.Rec_bundle_579704328 {impl_45 as impl_45} - -include Core.Array.Rec_bundle_579704328 {impl_46 as impl_46} - -include Core.Array.Rec_bundle_579704328 {impl_47 as impl_47} - -include Core.Array.Rec_bundle_579704328 {impl_54 as impl_54} - -include Core.Array.Rec_bundle_579704328 {impl_55 as impl_55} - -include Core.Array.Rec_bundle_579704328 {impl_56 as impl_56} - -include Core.Array.Rec_bundle_579704328 {impl_57 as impl_57} - -include Core.Array.Rec_bundle_579704328 {impl_58 as impl_58} - -include Core.Array.Rec_bundle_579704328 {impl_59 as impl_59} - -include Core.Array.Rec_bundle_579704328 {impl_18 as impl_18} - -include Core.Array.Rec_bundle_579704328 {impl_19 as impl_19} - -include Core.Array.Rec_bundle_579704328 {impl_20 as impl_20} - -include Core.Array.Rec_bundle_579704328 {impl_21 as impl_21} - -include Core.Array.Rec_bundle_579704328 {impl_22 as impl_22} - -include Core.Array.Rec_bundle_579704328 {impl_23 as impl_23} - -include Core.Array.Rec_bundle_579704328 {impl_48 as impl_48} - -include Core.Array.Rec_bundle_579704328 {impl_49 as impl_49} - -include Core.Array.Rec_bundle_579704328 {impl_50 as impl_50} - -include Core.Array.Rec_bundle_579704328 {impl_51 as impl_51} - -include Core.Array.Rec_bundle_579704328 {impl_52 as impl_52} - -include Core.Array.Rec_bundle_579704328 {impl_53 as impl_53} - -include Core.Array.Rec_bundle_579704328 {impl_60 as impl_60} - -include Core.Array.Rec_bundle_579704328 {impl_61 as impl_61} - -include Core.Array.Rec_bundle_579704328 {impl_62 as impl_62} - -include Core.Array.Rec_bundle_579704328 {impl_63 as impl_63} - -include Core.Array.Rec_bundle_579704328 {impl_64 as impl_64} - -include Core.Array.Rec_bundle_579704328 {impl_65 as impl_65} diff --git a/proof-libs/fstar/generated-core/Core.Ops.Arith.fst b/proof-libs/fstar/generated-core/Core.Ops.Arith.fst deleted file mode 100644 index 7bbf57888..000000000 --- a/proof-libs/fstar/generated-core/Core.Ops.Arith.fst +++ /dev/null @@ -1,51 +0,0 @@ -module Core.Ops.Arith -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -class t_Add (v_Self: Type0) (v_Rhs: Type0) = { - f_Output:Type0; - f_add_pre:v_Self -> v_Rhs -> Type0; - f_add_post:v_Self -> v_Rhs -> f_Output -> Type0; - f_add:x0: v_Self -> x1: v_Rhs - -> Prims.Pure f_Output (f_add_pre x0 x1) (fun result -> f_add_post x0 x1 result) -} - -class t_Div (v_Self: Type0) (v_Rhs: Type0) = { - f_Output:Type0; - f_div_pre:v_Self -> v_Rhs -> Type0; - f_div_post:v_Self -> v_Rhs -> f_Output -> Type0; - f_div:x0: v_Self -> x1: v_Rhs - -> Prims.Pure f_Output (f_div_pre x0 x1) (fun result -> f_div_post x0 x1 result) -} - -class t_Mul (v_Self: Type0) (v_Rhs: Type0) = { - f_Output:Type0; - f_mul_pre:v_Self -> v_Rhs -> Type0; - f_mul_post:v_Self -> v_Rhs -> f_Output -> Type0; - f_mul:x0: v_Self -> x1: v_Rhs - -> Prims.Pure f_Output (f_mul_pre x0 x1) (fun result -> f_mul_post x0 x1 result) -} - -class t_Neg (v_Self: Type0) = { - f_Output:Type0; - f_neg_pre:v_Self -> Type0; - f_neg_post:v_Self -> f_Output -> Type0; - f_neg:x0: v_Self -> Prims.Pure f_Output (f_neg_pre x0) (fun result -> f_neg_post x0 result) -} - -class t_Rem (v_Self: Type0) (v_Rhs: Type0) = { - f_Output:Type0; - f_rem_pre:v_Self -> v_Rhs -> Type0; - f_rem_post:v_Self -> v_Rhs -> f_Output -> Type0; - f_rem:x0: v_Self -> x1: v_Rhs - -> Prims.Pure f_Output (f_rem_pre x0 x1) (fun result -> f_rem_post x0 x1 result) -} - -class t_Sub (v_Self: Type0) (v_Rhs: Type0) = { - f_Output:Type0; - f_sub_pre:v_Self -> v_Rhs -> Type0; - f_sub_post:v_Self -> v_Rhs -> f_Output -> Type0; - f_sub:x0: v_Self -> x1: v_Rhs - -> Prims.Pure f_Output (f_sub_pre x0 x1) (fun result -> f_sub_post x0 x1 result) -} diff --git a/proof-libs/fstar/generated-core/Core.Ops.Bit.Impls_for_prims.fst b/proof-libs/fstar/generated-core/Core.Ops.Bit.Impls_for_prims.fst deleted file mode 100644 index 41e5c5480..000000000 --- a/proof-libs/fstar/generated-core/Core.Ops.Bit.Impls_for_prims.fst +++ /dev/null @@ -1,208 +0,0 @@ -module Core.Ops.Bit.Impls_for_prims -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -include Core.Array.Rec_bundle_579704328 {impl_84 as impl_84} - -include Core.Array.Rec_bundle_579704328 {impl_85 as impl_85} - -include Core.Array.Rec_bundle_579704328 {impl_86 as impl_86} - -include Core.Array.Rec_bundle_579704328 {impl_87 as impl_87} - -include Core.Array.Rec_bundle_579704328 {impl_88 as impl_88} - -include Core.Array.Rec_bundle_579704328 {impl_89 as impl_89} - -include Core.Array.Rec_bundle_579704328 {impl_6 as impl_6} - -include Core.Array.Rec_bundle_579704328 {impl_7 as impl_7} - -include Core.Array.Rec_bundle_579704328 {impl_8 as impl_8} - -include Core.Array.Rec_bundle_579704328 {impl_9 as impl_9} - -include Core.Array.Rec_bundle_579704328 {impl_10 as impl_10} - -include Core.Array.Rec_bundle_579704328 {impl_11 as impl_11} - -include Core.Array.Rec_bundle_579704328 {impl_12 as impl_12} - -include Core.Array.Rec_bundle_579704328 {impl_13 as impl_13} - -include Core.Array.Rec_bundle_579704328 {impl_14 as impl_14} - -include Core.Array.Rec_bundle_579704328 {impl_15 as impl_15} - -include Core.Array.Rec_bundle_579704328 {impl_16 as impl_16} - -include Core.Array.Rec_bundle_579704328 {impl_17 as impl_17} - -include Core.Array.Rec_bundle_579704328 {impl_18 as impl_18} - -include Core.Array.Rec_bundle_579704328 {impl_19 as impl_19} - -include Core.Array.Rec_bundle_579704328 {impl_20 as impl_20} - -include Core.Array.Rec_bundle_579704328 {impl_21 as impl_21} - -include Core.Array.Rec_bundle_579704328 {impl_22 as impl_22} - -include Core.Array.Rec_bundle_579704328 {impl_23 as impl_23} - -include Core.Array.Rec_bundle_579704328 {impl_24 as impl_24} - -include Core.Array.Rec_bundle_579704328 {impl_25 as impl_25} - -include Core.Array.Rec_bundle_579704328 {impl_26 as impl_26} - -include Core.Array.Rec_bundle_579704328 {impl_27 as impl_27} - -include Core.Array.Rec_bundle_579704328 {impl_28 as impl_28} - -include Core.Array.Rec_bundle_579704328 {impl_29 as impl_29} - -include Core.Array.Rec_bundle_579704328 {impl_30 as impl_30} - -include Core.Array.Rec_bundle_579704328 {impl_31 as impl_31} - -include Core.Array.Rec_bundle_579704328 {impl_32 as impl_32} - -include Core.Array.Rec_bundle_579704328 {impl_33 as impl_33} - -include Core.Array.Rec_bundle_579704328 {impl_34 as impl_34} - -include Core.Array.Rec_bundle_579704328 {impl_35 as impl_35} - -include Core.Array.Rec_bundle_579704328 {impl_36 as impl_36} - -include Core.Array.Rec_bundle_579704328 {impl_37 as impl_37} - -include Core.Array.Rec_bundle_579704328 {impl_38 as impl_38} - -include Core.Array.Rec_bundle_579704328 {impl_39 as impl_39} - -include Core.Array.Rec_bundle_579704328 {impl_40 as impl_40} - -include Core.Array.Rec_bundle_579704328 {impl_41 as impl_41} - -include Core.Array.Rec_bundle_579704328 {impl_42 as impl_42} - -include Core.Array.Rec_bundle_579704328 {impl_43 as impl_43} - -include Core.Array.Rec_bundle_579704328 {impl_44 as impl_44} - -include Core.Array.Rec_bundle_579704328 {impl_45 as impl_45} - -include Core.Array.Rec_bundle_579704328 {impl_46 as impl_46} - -include Core.Array.Rec_bundle_579704328 {impl_47 as impl_47} - -include Core.Array.Rec_bundle_579704328 {impl_48 as impl_48} - -include Core.Array.Rec_bundle_579704328 {impl_49 as impl_49} - -include Core.Array.Rec_bundle_579704328 {impl_50 as impl_50} - -include Core.Array.Rec_bundle_579704328 {impl_51 as impl_51} - -include Core.Array.Rec_bundle_579704328 {impl_52 as impl_52} - -include Core.Array.Rec_bundle_579704328 {impl_53 as impl_53} - -include Core.Array.Rec_bundle_579704328 {impl_54 as impl_54} - -include Core.Array.Rec_bundle_579704328 {impl_55 as impl_55} - -include Core.Array.Rec_bundle_579704328 {impl_56 as impl_56} - -include Core.Array.Rec_bundle_579704328 {impl_57 as impl_57} - -include Core.Array.Rec_bundle_579704328 {impl_58 as impl_58} - -include Core.Array.Rec_bundle_579704328 {impl_59 as impl_59} - -include Core.Array.Rec_bundle_579704328 {impl_60 as impl_60} - -include Core.Array.Rec_bundle_579704328 {impl_61 as impl_61} - -include Core.Array.Rec_bundle_579704328 {impl_62 as impl_62} - -include Core.Array.Rec_bundle_579704328 {impl_63 as impl_63} - -include Core.Array.Rec_bundle_579704328 {impl_64 as impl_64} - -include Core.Array.Rec_bundle_579704328 {impl_65 as impl_65} - -include Core.Array.Rec_bundle_579704328 {impl_66 as impl_66} - -include Core.Array.Rec_bundle_579704328 {impl_67 as impl_67} - -include Core.Array.Rec_bundle_579704328 {impl_68 as impl_68} - -include Core.Array.Rec_bundle_579704328 {impl_69 as impl_69} - -include Core.Array.Rec_bundle_579704328 {impl_70 as impl_70} - -include Core.Array.Rec_bundle_579704328 {impl_71 as impl_71} - -include Core.Array.Rec_bundle_579704328 {impl_72 as impl_72} - -include Core.Array.Rec_bundle_579704328 {impl_73 as impl_73} - -include Core.Array.Rec_bundle_579704328 {impl_74 as impl_74} - -include Core.Array.Rec_bundle_579704328 {impl_75 as impl_75} - -include Core.Array.Rec_bundle_579704328 {impl_76 as impl_76} - -include Core.Array.Rec_bundle_579704328 {impl_77 as impl_77} - -include Core.Array.Rec_bundle_579704328 {impl_78 as impl_78} - -include Core.Array.Rec_bundle_579704328 {impl_79 as impl_79} - -include Core.Array.Rec_bundle_579704328 {impl_80 as impl_80} - -include Core.Array.Rec_bundle_579704328 {impl_81 as impl_81} - -include Core.Array.Rec_bundle_579704328 {impl_82 as impl_82} - -include Core.Array.Rec_bundle_579704328 {impl_83 as impl_83} - -include Core.Array.Rec_bundle_579704328 {impl_90 as impl_90} - -include Core.Array.Rec_bundle_579704328 {impl_91 as impl_91} - -include Core.Array.Rec_bundle_579704328 {impl_92 as impl_92} - -include Core.Array.Rec_bundle_579704328 {impl_93 as impl_93} - -include Core.Array.Rec_bundle_579704328 {impl_94 as impl_94} - -include Core.Array.Rec_bundle_579704328 {impl_95 as impl_95} - -include Core.Array.Rec_bundle_579704328 {impl_96 as impl_96} - -include Core.Array.Rec_bundle_579704328 {impl_97 as impl_97} - -include Core.Array.Rec_bundle_579704328 {impl_98 as impl_98} - -include Core.Array.Rec_bundle_579704328 {impl_99 as impl_99} - -include Core.Array.Rec_bundle_579704328 {impl_100 as impl_100} - -include Core.Array.Rec_bundle_579704328 {impl_101 as impl_101} - -include Core.Array.Rec_bundle_579704328 {impl as impl} - -include Core.Array.Rec_bundle_579704328 {impl_1 as impl_1} - -include Core.Array.Rec_bundle_579704328 {impl_2 as impl_2} - -include Core.Array.Rec_bundle_579704328 {impl_3 as impl_3} - -include Core.Array.Rec_bundle_579704328 {impl_4 as impl_4} - -include Core.Array.Rec_bundle_579704328 {impl_5 as impl_5} diff --git a/proof-libs/fstar/generated-core/Core.Ops.Bit.fst b/proof-libs/fstar/generated-core/Core.Ops.Bit.fst deleted file mode 100644 index 60b876097..000000000 --- a/proof-libs/fstar/generated-core/Core.Ops.Bit.fst +++ /dev/null @@ -1,51 +0,0 @@ -module Core.Ops.Bit -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -class t_BitAnd (v_Self: Type0) (v_Rhs: Type0) = { - f_Output:Type0; - f_bitand_pre:v_Self -> v_Rhs -> Type0; - f_bitand_post:v_Self -> v_Rhs -> f_Output -> Type0; - f_bitand:x0: v_Self -> x1: v_Rhs - -> Prims.Pure f_Output (f_bitand_pre x0 x1) (fun result -> f_bitand_post x0 x1 result) -} - -class t_BitOr (v_Self: Type0) (v_Rhs: Type0) = { - f_Output:Type0; - f_bitor_pre:v_Self -> v_Rhs -> Type0; - f_bitor_post:v_Self -> v_Rhs -> f_Output -> Type0; - f_bitor:x0: v_Self -> x1: v_Rhs - -> Prims.Pure f_Output (f_bitor_pre x0 x1) (fun result -> f_bitor_post x0 x1 result) -} - -class t_BitXor (v_Self: Type0) (v_Rhs: Type0) = { - f_Output:Type0; - f_bitxor_pre:v_Self -> v_Rhs -> Type0; - f_bitxor_post:v_Self -> v_Rhs -> f_Output -> Type0; - f_bitxor:x0: v_Self -> x1: v_Rhs - -> Prims.Pure f_Output (f_bitxor_pre x0 x1) (fun result -> f_bitxor_post x0 x1 result) -} - -class t_Not (v_Self: Type0) = { - f_Output:Type0; - f_not_pre:v_Self -> Type0; - f_not_post:v_Self -> f_Output -> Type0; - f_not:x0: v_Self -> Prims.Pure f_Output (f_not_pre x0) (fun result -> f_not_post x0 result) -} - -class t_Shl (v_Self: Type0) (v_Rhs: Type0) = { - f_Output:Type0; - f_shl_pre:v_Self -> v_Rhs -> Type0; - f_shl_post:v_Self -> v_Rhs -> f_Output -> Type0; - f_shl:x0: v_Self -> x1: v_Rhs - -> Prims.Pure f_Output (f_shl_pre x0 x1) (fun result -> f_shl_post x0 x1 result) -} - -class t_Shr (v_Self: Type0) (v_Rhs: Type0) = { - f_Output:Type0; - f_shr_pre:v_Self -> v_Rhs -> Type0; - f_shr_post:v_Self -> v_Rhs -> f_Output -> Type0; - f_shr:x0: v_Self -> x1: v_Rhs - -> Prims.Pure f_Output (f_shr_pre x0 x1) (fun result -> f_shr_post x0 x1 result) -} diff --git a/proof-libs/fstar/generated-core/Core.Ops.Function.fst b/proof-libs/fstar/generated-core/Core.Ops.Function.fst deleted file mode 100644 index 326603935..000000000 --- a/proof-libs/fstar/generated-core/Core.Ops.Function.fst +++ /dev/null @@ -1,31 +0,0 @@ -module Core.Ops.Function -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -class t_FnOnce (v_Self: Type0) (v_Args: Type0) = { - [@@@ FStar.Tactics.Typeclasses.no_method]_super_18093577594825678560:Core.Marker.t_Tuple v_Args; - f_Output:Type0; - f_call_once_pre:v_Self -> v_Args -> Type0; - f_call_once_post:v_Self -> v_Args -> f_Output -> Type0; - f_call_once:x0: v_Self -> x1: v_Args - -> Prims.Pure f_Output (f_call_once_pre x0 x1) (fun result -> f_call_once_post x0 x1 result) -} - -class t_FnMut (v_Self: Type0) (v_Args: Type0) = { - [@@@ FStar.Tactics.Typeclasses.no_method]_super_4383436188827019856:t_FnOnce v_Self v_Args; - [@@@ FStar.Tactics.Typeclasses.no_method]_super_18093577594825678560:Core.Marker.t_Tuple v_Args; - f_call_mut_pre:v_Self -> v_Args -> Type0; - f_call_mut_post:v_Self -> v_Args -> (v_Self & _) -> Type0; - f_call_mut:x0: v_Self -> x1: v_Args - -> Prims.Pure (v_Self & _) (f_call_mut_pre x0 x1) (fun result -> f_call_mut_post x0 x1 result) -} - -class t_Fn (v_Self: Type0) (v_Args: Type0) = { - [@@@ FStar.Tactics.Typeclasses.no_method]_super_17624495069805845666:t_FnMut v_Self v_Args; - [@@@ FStar.Tactics.Typeclasses.no_method]_super_18093577594825678560:Core.Marker.t_Tuple v_Args; - f_call_pre:v_Self -> v_Args -> Type0; - f_call_post:v_Self -> v_Args -> _ -> Type0; - f_call:x0: v_Self -> x1: v_Args - -> Prims.Pure _ (f_call_pre x0 x1) (fun result -> f_call_post x0 x1 result) -} diff --git a/proof-libs/fstar/generated-core/Core.Ops.Index.fst b/proof-libs/fstar/generated-core/Core.Ops.Index.fst deleted file mode 100644 index 6cc80a42c..000000000 --- a/proof-libs/fstar/generated-core/Core.Ops.Index.fst +++ /dev/null @@ -1,12 +0,0 @@ -module Core.Ops.Index -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -class t_Index (v_Self: Type0) (v_Idx: Type0) = { - f_Output:Type0; - f_index_pre:v_Self -> v_Idx -> Type0; - f_index_post:v_Self -> v_Idx -> f_Output -> Type0; - f_index:x0: v_Self -> x1: v_Idx - -> Prims.Pure f_Output (f_index_pre x0 x1) (fun result -> f_index_post x0 x1 result) -} diff --git a/proof-libs/fstar/generated-core/Core.Ops.Index_range.fst b/proof-libs/fstar/generated-core/Core.Ops.Index_range.fst deleted file mode 100644 index d927e5697..000000000 --- a/proof-libs/fstar/generated-core/Core.Ops.Index_range.fst +++ /dev/null @@ -1,118 +0,0 @@ -module Core.Ops.Index_range -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -type t_IndexRange = { - f_start:usize; - f_end:usize -} - -let impl__IndexRange__zero_to (v_end: usize) : t_IndexRange = - { f_start = sz 0; f_end = v_end } <: t_IndexRange - -let impl__IndexRange__next_unchecked (self: t_IndexRange) : (t_IndexRange & usize) = - let value:usize = self.f_start in - let self:t_IndexRange = - { self with f_start = Rust_primitives.Usize.add value (sz 1) } <: t_IndexRange - in - let hax_temp_output:usize = value in - self, hax_temp_output <: (t_IndexRange & usize) - -let impl__IndexRange__len (self: t_IndexRange) : usize = - Rust_primitives.Usize.sub self.f_end self.f_start - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_1: Core.Iter.Traits.Iterator.t_Iterator t_IndexRange = - { - f_Item = usize; - f_next_pre = (fun (self: t_IndexRange) -> true); - f_next_post - = - (fun (self: t_IndexRange) (out: (t_IndexRange & Core.Option.t_Option usize)) -> true); - f_next - = - (fun (self: t_IndexRange) -> - let hax_temp_output:Core.Option.t_Option usize = - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 0) - (let list = ["not yet implemented: specification needed"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (Core.Fmt.Rt.impl_1__none () <: t_Array Core.Fmt.Rt.t_Argument (sz 0)) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) - in - self, hax_temp_output <: (t_IndexRange & Core.Option.t_Option usize)); - f_size_hint_pre = (fun (self: t_IndexRange) -> true); - f_size_hint_post - = - (fun (self: t_IndexRange) (out: (usize & Core.Option.t_Option usize)) -> true); - f_size_hint - = - (fun (self: t_IndexRange) -> - let len:usize = impl__IndexRange__len self in - len, (Core.Option.Option_Some len <: Core.Option.t_Option usize) - <: - (usize & Core.Option.t_Option usize)); - f_fold_pre - = - (fun - (#v_B: Type0) - (#v_F: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] - i3: - Core.Ops.Function.t_FnMut v_F (v_B & (impl_1).f_Item)) - (self: t_IndexRange) - (init: v_B) - (f: v_F) - -> - true); - f_fold_post - = - (fun - (#v_B: Type0) - (#v_F: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] - i3: - Core.Ops.Function.t_FnMut v_F (v_B & (impl_1).f_Item)) - (self: t_IndexRange) - (init: v_B) - (f: v_F) - (out: v_B) - -> - true); - f_fold - = - fun - (#v_B: Type0) - (#v_F: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] - i3: - Core.Ops.Function.t_FnMut v_F (v_B & (impl_1).f_Item)) - (self: t_IndexRange) - (init: v_B) - (f: v_F) - -> - Rust_primitives.Hax.never_to_any (Core.Panicking.panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 0) - (let list = ["not yet implemented: specification needed"] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (Core.Fmt.Rt.impl_1__none () <: t_Array Core.Fmt.Rt.t_Argument (sz 0)) - <: - Core.Fmt.t_Arguments) - <: - Rust_primitives.Hax.t_Never) - } - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_2: Core.Iter.Traits.Exact_size.t_ExactSizeIterator t_IndexRange = - { - _super_15444444506782437531 = FStar.Tactics.Typeclasses.solve; - f_len_pre = (fun (self: t_IndexRange) -> true); - f_len_post = (fun (self: t_IndexRange) (out: usize) -> true); - f_len = fun (self: t_IndexRange) -> impl__IndexRange__len self - } diff --git a/proof-libs/fstar/generated-core/Core.Ops.Range.fst b/proof-libs/fstar/generated-core/Core.Ops.Range.fst deleted file mode 100644 index a1e605f74..000000000 --- a/proof-libs/fstar/generated-core/Core.Ops.Range.fst +++ /dev/null @@ -1,9 +0,0 @@ -module Core.Ops.Range -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -type t_Range (v_Idx: Type0) = { - f_start:v_Idx; - f_end:v_Idx -} diff --git a/proof-libs/fstar/generated-core/Core.Option.fst b/proof-libs/fstar/generated-core/Core.Option.fst deleted file mode 100644 index 6f7c137fd..000000000 --- a/proof-libs/fstar/generated-core/Core.Option.fst +++ /dev/null @@ -1,61 +0,0 @@ -module Core.Option -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -type t_Option (v_T: Type0) = - | Option_None : t_Option v_T - | Option_Some : v_T -> t_Option v_T - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl (#v_T: Type0) (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - : Core.Clone.t_Clone (t_Option v_T) = - { - f_clone_pre = (fun (self: t_Option v_T) -> true); - f_clone_post = (fun (self: t_Option v_T) (out: t_Option v_T) -> true); - f_clone - = - fun (self: t_Option v_T) -> - match self with - | Option_Some x -> - Option_Some (Core.Clone.f_clone #v_T #FStar.Tactics.Typeclasses.solve x) <: t_Option v_T - | Option_None -> Option_None <: t_Option v_T - } - -let impl_1__is_some (#v_T: Type0) (self: t_Option v_T) : bool = - match self with - | Option_Some _ -> true - | _ -> false - -let impl_1__map - (#v_T #v_U #v_F: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i3: Core.Ops.Function.t_FnOnce v_F v_T) - (self: t_Option v_T) - (f: v_F) - : t_Option v_U = - match self with - | Option_Some x -> - Option_Some - (Core.Ops.Function.f_call_once #v_F #v_T #FStar.Tactics.Typeclasses.solve f (x <: v_T)) - <: - t_Option v_U - | Option_None -> Option_None <: t_Option v_U - -let unwrap_failed (_: Prims.unit) : Rust_primitives.Hax.t_Never = - Core.Panicking.panic "called `Option::unwrap()` on a `None` value" - -let impl_1__unwrap (#v_T: Type0) (self: t_Option v_T) - : Prims.Pure v_T (requires impl_1__is_some #v_T self___) (fun _ -> Prims.l_True) = - match self with - | Option_Some v_val -> v_val - | Option_None -> - Rust_primitives.Hax.never_to_any (unwrap_failed () <: Rust_primitives.Hax.t_Never) - -let expect_failed (msg: string) : Rust_primitives.Hax.t_Never = - Core.Panicking.panic_display #string msg - -let impl_1__expect (#v_T: Type0) (self: t_Option v_T) (msg: string) : v_T = - match self with - | Option_Some v_val -> v_val - | Option_None -> - Rust_primitives.Hax.never_to_any (expect_failed msg <: Rust_primitives.Hax.t_Never) diff --git a/proof-libs/fstar/generated-core/Core.Panicking.fst b/proof-libs/fstar/generated-core/Core.Panicking.fst deleted file mode 100644 index 6b444e304..000000000 --- a/proof-libs/fstar/generated-core/Core.Panicking.fst +++ /dev/null @@ -1,51 +0,0 @@ -module Core.Panicking -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -type t_AssertKind = - | AssertKind_Eq : t_AssertKind - | AssertKind_Ne : t_AssertKind - | AssertKind_Match : t_AssertKind - -let t_AssertKind_cast_to_repr (x: t_AssertKind) : isize = - match x with - | AssertKind_Eq -> isz 0 - | AssertKind_Ne -> isz 1 - | AssertKind_Match -> isz 3 - -type t_Never = - -let t_Never_cast_to_repr (x: t_Never) : Rust_primitives.Hax.t_Never = match x with - -let never_to_any (#v_T: Type0) (x: t_Never) : v_T = Rust_primitives.Hax.never_to_any (match x with ) - -let rec panic_fmt (fmt: Core.Fmt.t_Arguments) : Rust_primitives.Hax.t_Never = panic_fmt fmt - -/// The underlying implementation of core's `panic!` macro when no formatting is used. -let panic (expr: string) : Rust_primitives.Hax.t_Never = - panic_fmt (Core.Fmt.impl_2__new_const (sz 1) - (let list = [expr] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - <: - Core.Fmt.t_Arguments) - -let panic_display - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Fmt.t_Display v_T) - (x: v_T) - : Rust_primitives.Hax.t_Never = - panic_fmt (Core.Fmt.impl_2__new_v1 (sz 1) - (sz 1) - (let list = [""] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - (let list = [Core.Fmt.Rt.impl_1__new_display #v_T x <: Core.Fmt.Rt.t_Argument] in - FStar.Pervasives.assert_norm (Prims.eq2 (List.Tot.length list) 1); - Rust_primitives.Hax.array_of_list 1 list) - <: - Core.Fmt.t_Arguments) - -let panic_explicit (_: Prims.unit) : Rust_primitives.Hax.t_Never = - panic_display #string "explicit panic" diff --git a/proof-libs/fstar/generated-core/Core.Primitive.Number_conversion.fst b/proof-libs/fstar/generated-core/Core.Primitive.Number_conversion.fst deleted file mode 100644 index c619bcf92..000000000 --- a/proof-libs/fstar/generated-core/Core.Primitive.Number_conversion.fst +++ /dev/null @@ -1,88 +0,0 @@ -module Core.Primitive.Number_conversion -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -include Core.Array.Rec_bundle_579704328 {impl_31 as impl_31} - -include Core.Array.Rec_bundle_579704328 {impl_40 as impl_40} - -include Core.Array.Rec_bundle_579704328 {impl as impl} - -include Core.Array.Rec_bundle_579704328 {impl_1 as impl_1} - -include Core.Array.Rec_bundle_579704328 {impl_2 as impl_2} - -include Core.Array.Rec_bundle_579704328 {impl_3 as impl_3} - -include Core.Array.Rec_bundle_579704328 {impl_4 as impl_4} - -include Core.Array.Rec_bundle_579704328 {impl_5 as impl_5} - -include Core.Array.Rec_bundle_579704328 {impl_6 as impl_6} - -include Core.Array.Rec_bundle_579704328 {impl_7 as impl_7} - -include Core.Array.Rec_bundle_579704328 {impl_8 as impl_8} - -include Core.Array.Rec_bundle_579704328 {impl_9 as impl_9} - -include Core.Array.Rec_bundle_579704328 {impl_10 as impl_10} - -include Core.Array.Rec_bundle_579704328 {impl_11 as impl_11} - -include Core.Array.Rec_bundle_579704328 {impl_12 as impl_12} - -include Core.Array.Rec_bundle_579704328 {impl_13 as impl_13} - -include Core.Array.Rec_bundle_579704328 {impl_14 as impl_14} - -include Core.Array.Rec_bundle_579704328 {impl_15 as impl_15} - -include Core.Array.Rec_bundle_579704328 {impl_16 as impl_16} - -include Core.Array.Rec_bundle_579704328 {impl_17 as impl_17} - -include Core.Array.Rec_bundle_579704328 {impl_18 as impl_18} - -include Core.Array.Rec_bundle_579704328 {impl_19 as impl_19} - -include Core.Array.Rec_bundle_579704328 {impl_20 as impl_20} - -include Core.Array.Rec_bundle_579704328 {impl_21 as impl_21} - -include Core.Array.Rec_bundle_579704328 {impl_22 as impl_22} - -include Core.Array.Rec_bundle_579704328 {impl_23 as impl_23} - -include Core.Array.Rec_bundle_579704328 {impl_24 as impl_24} - -include Core.Array.Rec_bundle_579704328 {impl_25 as impl_25} - -include Core.Array.Rec_bundle_579704328 {impl_26 as impl_26} - -include Core.Array.Rec_bundle_579704328 {impl_27 as impl_27} - -include Core.Array.Rec_bundle_579704328 {impl_28 as impl_28} - -include Core.Array.Rec_bundle_579704328 {impl_29 as impl_29} - -include Core.Array.Rec_bundle_579704328 {impl_30 as impl_30} - -include Core.Array.Rec_bundle_579704328 {impl_32 as impl_32} - -include Core.Array.Rec_bundle_579704328 {impl_33 as impl_33} - -include Core.Array.Rec_bundle_579704328 {impl_34 as impl_34} - -include Core.Array.Rec_bundle_579704328 {impl_35 as impl_35} - -include Core.Array.Rec_bundle_579704328 {impl_36 as impl_36} - -include Core.Array.Rec_bundle_579704328 {impl_37 as impl_37} - -include Core.Array.Rec_bundle_579704328 {impl_38 as impl_38} - -include Core.Array.Rec_bundle_579704328 {impl_39 as impl_39} - -include Core.Array.Rec_bundle_579704328 {impl_41 as impl_41} diff --git a/proof-libs/fstar/generated-core/Core.Primitive.Number_conversion_i.fst b/proof-libs/fstar/generated-core/Core.Primitive.Number_conversion_i.fst deleted file mode 100644 index da845bfda..000000000 --- a/proof-libs/fstar/generated-core/Core.Primitive.Number_conversion_i.fst +++ /dev/null @@ -1,88 +0,0 @@ -module Core.Primitive.Number_conversion_i -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -include Core.Array.Rec_bundle_579704328 {impl_31 as impl_31} - -include Core.Array.Rec_bundle_579704328 {impl_40 as impl_40} - -include Core.Array.Rec_bundle_579704328 {impl as impl} - -include Core.Array.Rec_bundle_579704328 {impl_1 as impl_1} - -include Core.Array.Rec_bundle_579704328 {impl_2 as impl_2} - -include Core.Array.Rec_bundle_579704328 {impl_3 as impl_3} - -include Core.Array.Rec_bundle_579704328 {impl_4 as impl_4} - -include Core.Array.Rec_bundle_579704328 {impl_5 as impl_5} - -include Core.Array.Rec_bundle_579704328 {impl_6 as impl_6} - -include Core.Array.Rec_bundle_579704328 {impl_7 as impl_7} - -include Core.Array.Rec_bundle_579704328 {impl_8 as impl_8} - -include Core.Array.Rec_bundle_579704328 {impl_9 as impl_9} - -include Core.Array.Rec_bundle_579704328 {impl_10 as impl_10} - -include Core.Array.Rec_bundle_579704328 {impl_11 as impl_11} - -include Core.Array.Rec_bundle_579704328 {impl_12 as impl_12} - -include Core.Array.Rec_bundle_579704328 {impl_13 as impl_13} - -include Core.Array.Rec_bundle_579704328 {impl_14 as impl_14} - -include Core.Array.Rec_bundle_579704328 {impl_15 as impl_15} - -include Core.Array.Rec_bundle_579704328 {impl_16 as impl_16} - -include Core.Array.Rec_bundle_579704328 {impl_17 as impl_17} - -include Core.Array.Rec_bundle_579704328 {impl_18 as impl_18} - -include Core.Array.Rec_bundle_579704328 {impl_19 as impl_19} - -include Core.Array.Rec_bundle_579704328 {impl_20 as impl_20} - -include Core.Array.Rec_bundle_579704328 {impl_21 as impl_21} - -include Core.Array.Rec_bundle_579704328 {impl_22 as impl_22} - -include Core.Array.Rec_bundle_579704328 {impl_23 as impl_23} - -include Core.Array.Rec_bundle_579704328 {impl_24 as impl_24} - -include Core.Array.Rec_bundle_579704328 {impl_25 as impl_25} - -include Core.Array.Rec_bundle_579704328 {impl_26 as impl_26} - -include Core.Array.Rec_bundle_579704328 {impl_27 as impl_27} - -include Core.Array.Rec_bundle_579704328 {impl_28 as impl_28} - -include Core.Array.Rec_bundle_579704328 {impl_29 as impl_29} - -include Core.Array.Rec_bundle_579704328 {impl_30 as impl_30} - -include Core.Array.Rec_bundle_579704328 {impl_32 as impl_32} - -include Core.Array.Rec_bundle_579704328 {impl_33 as impl_33} - -include Core.Array.Rec_bundle_579704328 {impl_34 as impl_34} - -include Core.Array.Rec_bundle_579704328 {impl_35 as impl_35} - -include Core.Array.Rec_bundle_579704328 {impl_36 as impl_36} - -include Core.Array.Rec_bundle_579704328 {impl_37 as impl_37} - -include Core.Array.Rec_bundle_579704328 {impl_38 as impl_38} - -include Core.Array.Rec_bundle_579704328 {impl_39 as impl_39} - -include Core.Array.Rec_bundle_579704328 {impl_41 as impl_41} diff --git a/proof-libs/fstar/generated-core/Core.Primitive.fst b/proof-libs/fstar/generated-core/Core.Primitive.fst deleted file mode 100644 index 1f0a3d5c4..000000000 --- a/proof-libs/fstar/generated-core/Core.Primitive.fst +++ /dev/null @@ -1,140 +0,0 @@ -module Core.Primitive -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -include Core.Array.Rec_bundle_579704328 {t_Slice as t_Slice} - -include Core.Array.Rec_bundle_579704328 {f_v as f_v} - -include Core.Array.Rec_bundle_579704328 {impl_2 as impl_2} - -include Core.Array.Rec_bundle_579704328 {t_Array as t_Array} - -include Core.Array.Rec_bundle_579704328 {f_v as f_v} - -include Core.Array.Rec_bundle_579704328 {cast as impl_3__cast} - -include Core.Array.Rec_bundle_579704328 {t_i128 as t_i128} - -include Core.Array.Rec_bundle_579704328 {_0 as _0} - -include Core.Array.Rec_bundle_579704328 {impl_25 as impl_25} - -include Core.Array.Rec_bundle_579704328 {t_i16 as t_i16} - -include Core.Array.Rec_bundle_579704328 {_0 as _0} - -include Core.Array.Rec_bundle_579704328 {impl_19 as impl_19} - -include Core.Array.Rec_bundle_579704328 {t_i32 as t_i32} - -include Core.Array.Rec_bundle_579704328 {_0 as _0} - -include Core.Array.Rec_bundle_579704328 {impl_21 as impl_21} - -include Core.Array.Rec_bundle_579704328 {t_i64 as t_i64} - -include Core.Array.Rec_bundle_579704328 {_0 as _0} - -include Core.Array.Rec_bundle_579704328 {impl_23 as impl_23} - -include Core.Array.Rec_bundle_579704328 {t_i8 as t_i8} - -include Core.Array.Rec_bundle_579704328 {_0 as _0} - -include Core.Array.Rec_bundle_579704328 {impl_17 as impl_17} - -include Core.Array.Rec_bundle_579704328 {t_isize as t_isize} - -include Core.Array.Rec_bundle_579704328 {_0 as _0} - -include Core.Array.Rec_bundle_579704328 {impl_27 as impl_27} - -include Core.Array.Rec_bundle_579704328 {t_u128 as t_u128} - -include Core.Array.Rec_bundle_579704328 {_0 as _0} - -include Core.Array.Rec_bundle_579704328 {t_u16 as t_u16} - -include Core.Array.Rec_bundle_579704328 {_0 as _0} - -include Core.Array.Rec_bundle_579704328 {t_u32 as t_u32} - -include Core.Array.Rec_bundle_579704328 {_0 as _0} - -include Core.Array.Rec_bundle_579704328 {t_u64 as t_u64} - -include Core.Array.Rec_bundle_579704328 {_0 as _0} - -include Core.Array.Rec_bundle_579704328 {t_u8 as t_u8} - -include Core.Array.Rec_bundle_579704328 {_0 as _0} - -include Core.Array.Rec_bundle_579704328 {t_usize as t_usize} - -include Core.Array.Rec_bundle_579704328 {_0 as _0} - -include Core.Array.Rec_bundle_579704328 {impl_1 as impl_1} - -include Core.Array.Rec_bundle_579704328 {impl_5 as impl_5} - -include Core.Array.Rec_bundle_579704328 {impl_7 as impl_7} - -include Core.Array.Rec_bundle_579704328 {impl_9 as impl_9} - -include Core.Array.Rec_bundle_579704328 {impl_11 as impl_11} - -include Core.Array.Rec_bundle_579704328 {impl_13 as impl_13} - -include Core.Array.Rec_bundle_579704328 {impl_15 as impl_15} - -include Core.Array.Rec_bundle_579704328 {impl as impl} - -include Core.Array.Rec_bundle_579704328 {impl_29 as impl_29} - -include Core.Array.Rec_bundle_579704328 {impl_30 as impl_30} - -include Core.Array.Rec_bundle_579704328 {impl_31 as impl_31} - -include Core.Array.Rec_bundle_579704328 {impl_32 as impl_32} - -include Core.Array.Rec_bundle_579704328 {impl_33 as impl_33} - -include Core.Array.Rec_bundle_579704328 {impl_34 as impl_34} - -include Core.Array.Rec_bundle_579704328 {impl_35 as impl_35} - -include Core.Array.Rec_bundle_579704328 {impl_36 as impl_36} - -include Core.Array.Rec_bundle_579704328 {impl_37 as impl_37} - -include Core.Array.Rec_bundle_579704328 {impl_38 as impl_38} - -include Core.Array.Rec_bundle_579704328 {impl_39 as impl_39} - -include Core.Array.Rec_bundle_579704328 {impl_40 as impl_40} - -include Core.Array.Rec_bundle_579704328 {impl_41 as impl_41} - -include Core.Array.Rec_bundle_579704328 {impl_42 as impl_42} - -include Core.Array.Rec_bundle_579704328 {impl_43 as impl_43} - -include Core.Array.Rec_bundle_579704328 {impl_44 as impl_44} - -include Core.Array.Rec_bundle_579704328 {impl_45 as impl_45} - -include Core.Array.Rec_bundle_579704328 {impl_46 as impl_46} - -include Core.Array.Rec_bundle_579704328 {impl_47 as impl_47} - -include Core.Array.Rec_bundle_579704328 {impl_48 as impl_48} - -include Core.Array.Rec_bundle_579704328 {impl_49 as impl_49} - -include Core.Array.Rec_bundle_579704328 {impl_50 as impl_50} - -include Core.Array.Rec_bundle_579704328 {impl_51 as impl_51} - -include Core.Array.Rec_bundle_579704328 {impl_52 as impl_52} diff --git a/proof-libs/fstar/generated-core/Core.Result.fst b/proof-libs/fstar/generated-core/Core.Result.fst deleted file mode 100644 index cd4873cfe..000000000 --- a/proof-libs/fstar/generated-core/Core.Result.fst +++ /dev/null @@ -1,13 +0,0 @@ -module Core.Result -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -type t_Result (v_T: Type0) (v_E: Type0) = - | Result_Ok : v_T -> t_Result v_T v_E - | Result_Err : v_E -> t_Result v_T v_E - -let impl__ok (#v_T #v_E: Type0) (self: t_Result v_T v_E) : Core.Option.t_Option v_T = - match self with - | Result_Ok x -> Core.Option.Option_Some x <: Core.Option.t_Option v_T - | Result_Err _ -> Core.Option.Option_None <: Core.Option.t_Option v_T diff --git a/proof-libs/fstar/generated-core/Core.Slice.Index.Private_slice_index.fst b/proof-libs/fstar/generated-core/Core.Slice.Index.Private_slice_index.fst deleted file mode 100644 index bd7714e81..000000000 --- a/proof-libs/fstar/generated-core/Core.Slice.Index.Private_slice_index.fst +++ /dev/null @@ -1,24 +0,0 @@ -module Core.Slice.Index.Private_slice_index -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -include Core.Array.Rec_bundle_579704328 {v_Sealed as v_Sealed} - -include Core.Array.Rec_bundle_579704328 {impl as impl} - -include Core.Array.Rec_bundle_579704328 {impl_1 as impl_1} - -include Core.Array.Rec_bundle_579704328 {impl_2 as impl_2} - -include Core.Array.Rec_bundle_579704328 {impl_3 as impl_3} - -include Core.Array.Rec_bundle_579704328 {impl_4 as impl_4} - -include Core.Array.Rec_bundle_579704328 {impl_5 as impl_5} - -include Core.Array.Rec_bundle_579704328 {impl_6 as impl_6} - -include Core.Array.Rec_bundle_579704328 {impl_7 as impl_7} - -include Core.Array.Rec_bundle_579704328 {impl_8 as impl_8} diff --git a/proof-libs/fstar/generated-core/Core.Slice.Index.fst b/proof-libs/fstar/generated-core/Core.Slice.Index.fst deleted file mode 100644 index 04ada15ad..000000000 --- a/proof-libs/fstar/generated-core/Core.Slice.Index.fst +++ /dev/null @@ -1,12 +0,0 @@ -module Core.Slice.Index -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -include Core.Array.Rec_bundle_579704328 {v_SliceIndex as v_SliceIndex} - -include Core.Array.Rec_bundle_579704328 {impl as impl} - -include Core.Array.Rec_bundle_579704328 {impl_2 as impl_2} - -include Core.Array.Rec_bundle_579704328 {impl_1 as impl_1} diff --git a/proof-libs/fstar/generated-core/Core.Slice.Iter.fst b/proof-libs/fstar/generated-core/Core.Slice.Iter.fst deleted file mode 100644 index a9223a99d..000000000 --- a/proof-libs/fstar/generated-core/Core.Slice.Iter.fst +++ /dev/null @@ -1,42 +0,0 @@ -module Core.Slice.Iter -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -type t_Iter (v_T: Type0) = { - f_data:Core.Primitive.t_Slice v_T; - f__marker:Core.Marker.t_PhantomData v_T -} - -let impl__new - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (slice: Core.Primitive.t_Slice v_T) - : t_Iter v_T = - { - f_data = Core.Clone.f_clone #(Core.Primitive.t_Slice v_T) #FStar.Tactics.Typeclasses.solve slice; - f__marker = Core.Marker.PhantomData <: Core.Marker.t_PhantomData v_T - } - <: - t_Iter v_T - -[@@ FStar.Tactics.Typeclasses.tcinstance] -let impl_1 (#v_T: Type0) (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - : Core.Clone.t_Clone (t_Iter v_T) = - { - f_clone_pre = (fun (self: t_Iter v_T) -> true); - f_clone_post = (fun (self: t_Iter v_T) (out: t_Iter v_T) -> true); - f_clone - = - fun (self: t_Iter v_T) -> - { - f_data - = - Core.Clone.f_clone #(Core.Primitive.t_Slice v_T) - #FStar.Tactics.Typeclasses.solve - self.f_data; - f__marker = self.f__marker - } - <: - t_Iter v_T - } diff --git a/proof-libs/fstar/generated-core/Core.Slice.fst b/proof-libs/fstar/generated-core/Core.Slice.fst deleted file mode 100644 index 282374444..000000000 --- a/proof-libs/fstar/generated-core/Core.Slice.fst +++ /dev/null @@ -1,33 +0,0 @@ -module Core.Slice -#set-options "--fuel 0 --ifuel 1 --z3rlimit 15" -open Core -open FStar.Mul - -let impl__iter - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i2: Core.Clone.t_Clone v_T) - (self: Core.Primitive.t_Slice v_T) - : Core.Slice.Iter.t_Iter v_T = Core.Slice.Iter.impl__new #v_T self - -let impl__len - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i1: Core.Clone.t_Clone v_T) - (self: Core.Primitive.t_Slice v_T) - : usize = - Core.Convert.f_from #usize - #Core.Base.Spec.Haxint.t_HaxInt - #FStar.Tactics.Typeclasses.solve - (Core.Base.Seq.len #v_T - (Core.Clone.f_clone #(Core.Base.Spec.Seq.t_Seq v_T) - #FStar.Tactics.Typeclasses.solve - self.Core.Primitive.f_v - <: - Core.Base.Spec.Seq.t_Seq v_T) - <: - Core.Base.Spec.Haxint.t_HaxInt) - -let impl__is_empty - (#v_T: Type0) - (#[FStar.Tactics.Typeclasses.tcresolve ()] i2: Core.Clone.t_Clone v_T) - (self: Core.Primitive.t_Slice v_T) - : bool = Rust_primitives.Usize.eq (impl__len #v_T self <: usize) (sz 0)