-- THIS FILE WAS AUTOMATICALLY GENERATED BY AENEAS -- [fips205]: external functions. -- This is a template file: rename it to "FunsExternal.lean" and fill the holes. import Aeneas import SlhVerify.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 fips205 /-- [core::iter::range::{impl core::iter::range::Step for u32}::backward_checked]: Source: '/rustc/library/core/src/iter/range.rs', lines 290:16-290:74 Name pattern: [core::iter::range::{core::iter::range::Step}::backward_checked] Visibility: public -/ @[rust_fun "core::iter::range::{core::iter::range::Step}::backward_checked"] axiom U32.Insts.CoreIterRangeStep.backward_checked : Std.U32 → Std.Usize → Result (Option Std.U32) /-- [core::iter::range::{impl core::iter::range::Step for u32}::forward_checked]: Source: '/rustc/library/core/src/iter/range.rs', lines 282:16-282:73 Name pattern: [core::iter::range::{core::iter::range::Step}::forward_checked] Visibility: public -/ @[rust_fun "core::iter::range::{core::iter::range::Step}::forward_checked"] axiom U32.Insts.CoreIterRangeStep.forward_checked : Std.U32 → Std.Usize → Result (Option Std.U32) /-- [core::iter::range::{impl core::iter::range::Step for u32}::steps_between]: Source: '/rustc/library/core/src/iter/range.rs', lines 271:16-271:84 Name pattern: [core::iter::range::{core::iter::range::Step}::steps_between] Visibility: public -/ @[rust_fun "core::iter::range::{core::iter::range::Step}::steps_between"] axiom U32.Insts.CoreIterRangeStep.steps_between : Std.U32 → Std.U32 → Result (Std.Usize × (Option Std.Usize)) /-- [zeroize::{impl zeroize::Zeroize for Z}::zeroize]: Source: '/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.9.0/src/lib.rs', lines 274:4-274:25 Name pattern: [zeroize::{zeroize::Zeroize<@Z>}::zeroize] Visibility: public -/ @[rust_fun "zeroize::{zeroize::Zeroize<@Z>}::zeroize"] axiom zeroize.Zeroize.Blanket.zeroize {Z : Type} (DefaultIsZeroesInst : zeroize.DefaultIsZeroes Z) : Z → Result Z /-- [zeroize::{impl zeroize::Zeroize for [Z; N]}::zeroize]: Source: '/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.9.0/src/lib.rs', lines 346:4-346:25 Name pattern: [zeroize::{zeroize::Zeroize<[@Z; @N]>}::zeroize] Visibility: public -/ @[rust_fun "zeroize::{zeroize::Zeroize<[@Z; @N]>}::zeroize"] axiom Array.Insts.ZeroizeZeroize.zeroize {Z : Type} {N : Std.Usize} (ZeroizeInst : zeroize.Zeroize Z) : Array Z N → Result (Array Z N) /-- [zeroize::__internal::{impl zeroize::__internal::AssertZeroize for T}::zeroize_or_on_drop]: Source: '/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.9.0/src/lib.rs', lines 846:8-846:40 Name pattern: [zeroize::__internal::{zeroize::__internal::AssertZeroize<@T>}::zeroize_or_on_drop] Visibility: public -/ @[rust_fun "zeroize::__internal::{zeroize::__internal::AssertZeroize<@T>}::zeroize_or_on_drop"] axiom zeroize.__internal.AssertZeroize.Blanket.zeroize_or_on_drop {T : Type} (ZeroizeInst : zeroize.Zeroize T) : T → Result T /-- [fips205::verify_mono::oracle::f]: Source: 'src/verify_mono.rs', lines 49:4-51:5 -/ axiom verify_mono.oracle.f (N : Std.Usize) : Slice Std.U8 → types.Adrs → Slice Std.U8 → Result (Array Std.U8 N) /-- [fips205::verify_mono::oracle::h]: Source: 'src/verify_mono.rs', lines 54:4-56:5 -/ axiom verify_mono.oracle.h (N : Std.Usize) : Slice Std.U8 → types.Adrs → Slice Std.U8 → Slice Std.U8 → Result (Array Std.U8 N) /-- [fips205::verify_mono::oracle::t_l]: Source: 'src/verify_mono.rs', lines 60:4-64:5 -/ axiom verify_mono.oracle.t_l {X : Std.Usize} {N : Std.Usize} : Slice Std.U8 → types.Adrs → Array (Array Std.U8 N) X → Result (Array Std.U8 N) /-- [fips205::verify_mono::oracle::t_len]: Source: 'src/verify_mono.rs', lines 69:4-73:5 -/ axiom verify_mono.oracle.t_len {X : Std.Usize} {N : Std.Usize} : Slice Std.U8 → types.Adrs → Array (Array Std.U8 N) X → Result (Array Std.U8 N) /-- [fips205::verify_mono::oracle::h_msg]: Source: 'src/verify_mono.rs', lines 81:4-85:5 -/ axiom verify_mono.oracle.h_msg (M : Std.Usize) : Slice Std.U8 → Slice Std.U8 → Slice Std.U8 → Slice Std.U8 → Result (Array Std.U8 M)