mirror of
https://github.com/saymrwulf/dalek-ed25519-verified.git
synced 2026-09-06 20:41:15 +00:00
190 lines
10 KiB
Text
190 lines
10 KiB
Text
|
|
-- THIS FILE WAS AUTOMATICALLY GENERATED BY AENEAS
|
|||
|
|
-- [curve25519_dalek]: external functions.
|
|||
|
|
-- This is a template file: rename it to "FunsExternal.lean" and fill the holes.
|
|||
|
|
import Aeneas
|
|||
|
|
import CurveField.Types
|
|||
|
|
open Aeneas Aeneas.Std Result ControlFlow Error
|
|||
|
|
set_option linter.dupNamespace false
|
|||
|
|
set_option linter.hashCommand false
|
|||
|
|
set_option linter.unusedVariables false
|
|||
|
|
|
|||
|
|
/- You can set the `maxHeartbeats` value with the `-max-heartbeats` CLI option -/
|
|||
|
|
set_option maxHeartbeats 1000000
|
|||
|
|
|
|||
|
|
/- You can set the `maxRecDepth` value with the `-max-recdepth` CLI option -/
|
|||
|
|
set_option maxRecDepth 2048
|
|||
|
|
open curve25519_dalek
|
|||
|
|
|
|||
|
|
/-- [core::fmt::{impl core::fmt::Debug for [T]}::fmt]:
|
|||
|
|
Source: '/rustc/library/core/src/fmt/mod.rs', lines 3122:4-3122:50
|
|||
|
|
Name pattern: [core::fmt::{core::fmt::Debug<[@T]>}::fmt]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun "core::fmt::{core::fmt::Debug<[@T]>}::fmt"]
|
|||
|
|
axiom Slice.Insts.CoreFmtDebug.fmt
|
|||
|
|
{T : Type} (DebugInst : core.fmt.Debug T) :
|
|||
|
|
Slice T → core.fmt.Formatter → Result ((core.result.Result Unit
|
|||
|
|
core.fmt.Error) × core.fmt.Formatter)
|
|||
|
|
|
|||
|
|
/-- [core::slice::index::{impl core::slice::index::SliceIndex<[T], [T]> for core::ops::range::RangeFull}::index_mut]:
|
|||
|
|
Source: '/rustc/library/core/src/slice/index.rs', lines 660:4-660:51
|
|||
|
|
Name pattern: [core::slice::index::{core::slice::index::SliceIndex<core::ops::range::RangeFull, [@T], [@T]>}::index_mut]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun
|
|||
|
|
"core::slice::index::{core::slice::index::SliceIndex<core::ops::range::RangeFull, [@T], [@T]>}::index_mut"]
|
|||
|
|
axiom
|
|||
|
|
core.ops.range.RangeFull.Insts.CoreSliceIndexSliceIndexSliceSlice.index_mut
|
|||
|
|
{T : Type} :
|
|||
|
|
core.ops.range.RangeFull → Slice T → Result ((Slice T) × (Slice T →
|
|||
|
|
Slice T))
|
|||
|
|
|
|||
|
|
/-- [core::slice::index::{impl core::slice::index::SliceIndex<[T], [T]> for core::ops::range::RangeFull}::index]:
|
|||
|
|
Source: '/rustc/library/core/src/slice/index.rs', lines 655:4-655:39
|
|||
|
|
Name pattern: [core::slice::index::{core::slice::index::SliceIndex<core::ops::range::RangeFull, [@T], [@T]>}::index]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun
|
|||
|
|
"core::slice::index::{core::slice::index::SliceIndex<core::ops::range::RangeFull, [@T], [@T]>}::index"]
|
|||
|
|
axiom core.ops.range.RangeFull.Insts.CoreSliceIndexSliceIndexSliceSlice.index
|
|||
|
|
{T : Type} : core.ops.range.RangeFull → Slice T → Result (Slice T)
|
|||
|
|
|
|||
|
|
/-- [core::slice::index::{impl core::slice::index::SliceIndex<[T], [T]> for core::ops::range::RangeFull}::get_unchecked_mut]:
|
|||
|
|
Source: '/rustc/library/core/src/slice/index.rs', lines 650:4-650:66
|
|||
|
|
Name pattern: [core::slice::index::{core::slice::index::SliceIndex<core::ops::range::RangeFull, [@T], [@T]>}::get_unchecked_mut]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun
|
|||
|
|
"core::slice::index::{core::slice::index::SliceIndex<core::ops::range::RangeFull, [@T], [@T]>}::get_unchecked_mut"]
|
|||
|
|
axiom
|
|||
|
|
core.ops.range.RangeFull.Insts.CoreSliceIndexSliceIndexSliceSlice.get_unchecked_mut
|
|||
|
|
{T : Type} :
|
|||
|
|
core.ops.range.RangeFull → MutRawPtr (Slice T) → Result (MutRawPtr (Slice
|
|||
|
|
T))
|
|||
|
|
|
|||
|
|
/-- [core::slice::index::{impl core::slice::index::SliceIndex<[T], [T]> for core::ops::range::RangeFull}::get_unchecked]:
|
|||
|
|
Source: '/rustc/library/core/src/slice/index.rs', lines 645:4-645:66
|
|||
|
|
Name pattern: [core::slice::index::{core::slice::index::SliceIndex<core::ops::range::RangeFull, [@T], [@T]>}::get_unchecked]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun
|
|||
|
|
"core::slice::index::{core::slice::index::SliceIndex<core::ops::range::RangeFull, [@T], [@T]>}::get_unchecked"]
|
|||
|
|
axiom
|
|||
|
|
core.ops.range.RangeFull.Insts.CoreSliceIndexSliceIndexSliceSlice.get_unchecked
|
|||
|
|
{T : Type} :
|
|||
|
|
core.ops.range.RangeFull → ConstRawPtr (Slice T) → Result (ConstRawPtr
|
|||
|
|
(Slice T))
|
|||
|
|
|
|||
|
|
/-- [core::slice::index::{impl core::slice::index::SliceIndex<[T], [T]> for core::ops::range::RangeFull}::get_mut]:
|
|||
|
|
Source: '/rustc/library/core/src/slice/index.rs', lines 640:4-640:57
|
|||
|
|
Name pattern: [core::slice::index::{core::slice::index::SliceIndex<core::ops::range::RangeFull, [@T], [@T]>}::get_mut]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun
|
|||
|
|
"core::slice::index::{core::slice::index::SliceIndex<core::ops::range::RangeFull, [@T], [@T]>}::get_mut"]
|
|||
|
|
axiom core.ops.range.RangeFull.Insts.CoreSliceIndexSliceIndexSliceSlice.get_mut
|
|||
|
|
{T : Type} :
|
|||
|
|
core.ops.range.RangeFull → Slice T → Result ((Option (Slice T)) ×
|
|||
|
|
(Option (Slice T) → Slice T))
|
|||
|
|
|
|||
|
|
/-- [core::slice::index::{impl core::slice::index::SliceIndex<[T], [T]> for core::ops::range::RangeFull}::get]:
|
|||
|
|
Source: '/rustc/library/core/src/slice/index.rs', lines 635:4-635:45
|
|||
|
|
Name pattern: [core::slice::index::{core::slice::index::SliceIndex<core::ops::range::RangeFull, [@T], [@T]>}::get]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun
|
|||
|
|
"core::slice::index::{core::slice::index::SliceIndex<core::ops::range::RangeFull, [@T], [@T]>}::get"]
|
|||
|
|
axiom core.ops.range.RangeFull.Insts.CoreSliceIndexSliceIndexSliceSlice.get
|
|||
|
|
{T : Type} :
|
|||
|
|
core.ops.range.RangeFull → Slice T → Result (Option (Slice T))
|
|||
|
|
|
|||
|
|
/-- [subtle::{impl core::convert::From<subtle::Choice> for bool}::from]:
|
|||
|
|
Source: '/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs', lines 153:4-153:35
|
|||
|
|
Name pattern: [subtle::{core::convert::From<bool, subtle::Choice>}::from]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun "subtle::{core::convert::From<bool, subtle::Choice>}::from"]
|
|||
|
|
axiom Bool.Insts.CoreConvertFromChoice.from : subtle.Choice → Result Bool
|
|||
|
|
|
|||
|
|
/-- [subtle::{impl core::ops::bit::BitOr<subtle::Choice, subtle::Choice> for subtle::Choice}::bitor]:
|
|||
|
|
Source: '/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs', lines 177:4-177:41
|
|||
|
|
Name pattern: [subtle::{core::ops::bit::BitOr<subtle::Choice, subtle::Choice, subtle::Choice>}::bitor]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun
|
|||
|
|
"subtle::{core::ops::bit::BitOr<subtle::Choice, subtle::Choice, subtle::Choice>}::bitor"]
|
|||
|
|
axiom subtle.Choice.Insts.CoreOpsBitBitOrChoiceChoice.bitor
|
|||
|
|
: subtle.Choice → subtle.Choice → Result subtle.Choice
|
|||
|
|
|
|||
|
|
/-- [subtle::{impl core::convert::From<u8> for subtle::Choice}::from]:
|
|||
|
|
Source: '/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs', lines 238:4-238:32
|
|||
|
|
Name pattern: [subtle::{core::convert::From<subtle::Choice, u8>}::from]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun "subtle::{core::convert::From<subtle::Choice, u8>}::from"]
|
|||
|
|
axiom subtle.Choice.Insts.CoreConvertFromU8.from
|
|||
|
|
: Std.U8 → Result subtle.Choice
|
|||
|
|
|
|||
|
|
/-- [subtle::{impl subtle::ConstantTimeEq for [T]}::ct_eq]:
|
|||
|
|
Source: '/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs', lines 313:4-313:41
|
|||
|
|
Name pattern: [subtle::{subtle::ConstantTimeEq<[@T]>}::ct_eq]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun "subtle::{subtle::ConstantTimeEq<[@T]>}::ct_eq"]
|
|||
|
|
axiom Slice.Insts.SubtleConstantTimeEq.ct_eq
|
|||
|
|
{T : Type} (ConstantTimeEqInst : subtle.ConstantTimeEq T) :
|
|||
|
|
Slice T → Slice T → Result subtle.Choice
|
|||
|
|
|
|||
|
|
/-- [subtle::{impl subtle::ConstantTimeEq for u8}::ct_eq]:
|
|||
|
|
Source: '/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs', lines 348:12-348:51
|
|||
|
|
Name pattern: [subtle::{subtle::ConstantTimeEq<u8>}::ct_eq]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun "subtle::{subtle::ConstantTimeEq<u8>}::ct_eq"]
|
|||
|
|
axiom U8.Insts.SubtleConstantTimeEq.ct_eq
|
|||
|
|
: Std.U8 → Std.U8 → Result subtle.Choice
|
|||
|
|
|
|||
|
|
/-- [subtle::ConditionallySelectable::conditional_assign]:
|
|||
|
|
Source: '/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs', lines 442:4-442:66
|
|||
|
|
Name pattern: [subtle::ConditionallySelectable::conditional_assign]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun "subtle::ConditionallySelectable::conditional_assign"]
|
|||
|
|
axiom subtle.ConditionallySelectable.conditional_assign.default
|
|||
|
|
{Self : Type} (ConditionallySelectableInst : subtle.ConditionallySelectable
|
|||
|
|
Self) :
|
|||
|
|
Self → Self → subtle.Choice → Result Self
|
|||
|
|
|
|||
|
|
/-- [subtle::ConditionallySelectable::conditional_swap]:
|
|||
|
|
Source: '/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs', lines 469:4-469:67
|
|||
|
|
Name pattern: [subtle::ConditionallySelectable::conditional_swap]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun "subtle::ConditionallySelectable::conditional_swap"]
|
|||
|
|
axiom subtle.ConditionallySelectable.conditional_swap.default
|
|||
|
|
{Self : Type} (ConditionallySelectableInst : subtle.ConditionallySelectable
|
|||
|
|
Self) :
|
|||
|
|
Self → Self → subtle.Choice → Result (Self × Self)
|
|||
|
|
|
|||
|
|
/-- [subtle::{impl subtle::ConditionallySelectable for u64}::conditional_select]:
|
|||
|
|
Source: '/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs', lines 513:12-513:77
|
|||
|
|
Name pattern: [subtle::{subtle::ConditionallySelectable<u64>}::conditional_select]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun
|
|||
|
|
"subtle::{subtle::ConditionallySelectable<u64>}::conditional_select"]
|
|||
|
|
axiom U64.Insts.SubtleConditionallySelectable.conditional_select
|
|||
|
|
: Std.U64 → Std.U64 → subtle.Choice → Result Std.U64
|
|||
|
|
|
|||
|
|
/-- [subtle::{impl subtle::ConditionallySelectable for u64}::conditional_assign]:
|
|||
|
|
Source: '/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs', lines 521:12-521:74
|
|||
|
|
Name pattern: [subtle::{subtle::ConditionallySelectable<u64>}::conditional_assign]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun
|
|||
|
|
"subtle::{subtle::ConditionallySelectable<u64>}::conditional_assign"]
|
|||
|
|
axiom U64.Insts.SubtleConditionallySelectable.conditional_assign
|
|||
|
|
: Std.U64 → Std.U64 → subtle.Choice → Result Std.U64
|
|||
|
|
|
|||
|
|
/-- [subtle::{impl subtle::ConditionallySelectable for u64}::conditional_swap]:
|
|||
|
|
Source: '/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs', lines 529:12-529:75
|
|||
|
|
Name pattern: [subtle::{subtle::ConditionallySelectable<u64>}::conditional_swap]
|
|||
|
|
Visibility: public -/
|
|||
|
|
@[rust_fun "subtle::{subtle::ConditionallySelectable<u64>}::conditional_swap"]
|
|||
|
|
axiom U64.Insts.SubtleConditionallySelectable.conditional_swap
|
|||
|
|
: Std.U64 → Std.U64 → subtle.Choice → Result (Std.U64 × Std.U64)
|
|||
|
|
|
|||
|
|
/-- [curve25519_dalek::field::{curve25519_dalek::backend::serial::u64::field::FieldElement51}::internal_invert_batch]:
|
|||
|
|
Source: 'curve25519-dalek/src/field.rs', lines 238:4-272:5 -/
|
|||
|
|
axiom field.FieldElement51.internal_invert_batch
|
|||
|
|
:
|
|||
|
|
Slice backend.serial.u64.field.FieldElement51 → Slice
|
|||
|
|
backend.serial.u64.field.FieldElement51 → Result ((Slice
|
|||
|
|
backend.serial.u64.field.FieldElement51) × (Slice
|
|||
|
|
backend.serial.u64.field.FieldElement51))
|
|||
|
|
|