use serde::{Deserialize, Serialize};
use std::time::Duration;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VerifierConfig {
pub enable_property_verification: bool,
pub enable_invariant_checking: bool,
pub enable_theorem_proving: bool,
pub enable_model_checking: bool,
pub enable_symbolic_execution: bool,
pub max_verification_depth: usize,
pub verification_timeout: Duration,
pub numerical_precision: f64,
pub enable_statistical_verification: bool,
pub confidence_level: f64,
pub max_samples: usize,
pub enable_parallel_verification: bool,
}
impl Default for VerifierConfig {
fn default() -> Self {
Self {
enable_property_verification: true,
enable_invariant_checking: true,
enable_theorem_proving: true,
enable_model_checking: true,
enable_symbolic_execution: true,
max_verification_depth: 1000,
verification_timeout: Duration::from_secs(300),
numerical_precision: 1e-12,
enable_statistical_verification: true,
confidence_level: 0.99,
max_samples: 10000,
enable_parallel_verification: true,
}
}
}