use super::activation;
use super::adamw;
use super::attention;
use super::batchnorm;
use super::cma_es;
use super::conv1d;
use super::cross_entropy;
use super::flash_attention;
use super::gated_delta_net;
use super::gqa;
use super::kmeans;
use super::layernorm;
use super::lbfgs;
use super::matmul;
use super::pagerank;
use super::rmsnorm;
use super::rope;
use super::silu_standalone;
use super::softmax;
use super::ssm;
use super::swiglu;
fn stub_exp(_x: f32) -> f32 {
let r: f32 = kani::any();
kani::assume(r >= f32::MIN_POSITIVE && r <= 1.0);
r
}
fn stub_sqrt(_x: f32) -> f32 {
let r: f32 = kani::any();
kani::assume(r >= 0.0 && r.is_finite());
r
}
fn stub_ln(_x: f32) -> f32 {
let r: f32 = kani::any();
kani::assume(r.is_finite());
r
}
fn stub_sin(_x: f32) -> f32 {
let r: f32 = kani::any();
kani::assume(r >= -1.0 && r <= 1.0);
r
}
fn stub_cos(_x: f32) -> f32 {
let r: f32 = kani::any();
kani::assume(r >= -1.0 && r <= 1.0);
r
}
fn stub_tanh(_x: f32) -> f32 {
let r: f32 = kani::any();
kani::assume(r > -1.0 && r < 1.0 && r.is_finite());
r
}
fn stub_powf(_base: f32, _exp: f32) -> f32 {
let r: f32 = kani::any();
kani::assume(r > 0.0 && r.is_finite());
r
}
fn stub_powi(_base: f32, _exp: i32) -> f32 {
let r: f32 = kani::any();
kani::assume(r.is_finite());
r
}
include!("kani_proofs_ab.rs");
include!("kani_proofs_cd.rs");
include!("kani_proofs_e1.rs");
include!("kani_proofs_e2.rs");