#![doc = include_str!("../README.md")]
mod framework;
mod model_check;
mod precision;
mod space;
use machine_check_common::iir::property::IProperty;
use mck::{concr::FullMachine, misc::MetaWrap};
pub use framework::Framework;
pub struct Strategy {
pub naive_inputs: bool,
pub use_decay: bool,
}
pub enum VerificationType {
Inherent,
Property(IProperty),
}
type AbstrInput<M> = <<M as FullMachine>::Abstr as mck::abstr::Machine<M>>::Input;
type AbstrParam<M> = <<M as FullMachine>::Abstr as mck::abstr::Machine<M>>::Param;
type AbstrState<M> = <<M as FullMachine>::Abstr as mck::abstr::Machine<M>>::State;
type AbstrPanicState<M> = mck::abstr::PanicResult<AbstrState<M>>;
type WrappedInput<M> = MetaWrap<AbstrInput<M>>;
type WrappedParam<M> = MetaWrap<AbstrParam<M>>;
type WrappedState<M> = MetaWrap<AbstrPanicState<M>>;