pub use std::{
collections::{BTreeMap as Map, BTreeSet as Set},
fmt,
io::Write,
ops::{Deref, DerefMut},
};
pub use error_chain::bail;
pub use num::{bigint::Sign, BigInt as Int, BigRational as Rat, Zero};
pub use rsmt2::SmtRes;
pub use crate::{check, expr, parse, trans};
pub type Unroll = usize;
error_chain::error_chain! {
types {
Error, ErrorKind, ResExt, Res;
}
links {
Smt2(rsmt2::errors::Error, rsmt2::errors::ErrorKind)
;
}
foreign_links {
Io(std::io::Error)
;
}
errors {
ParseErr(row: usize, col: usize, line: String, msg: String) {
description("parse error")
display("error @{}:{}: `{}`, {}", row, col, line, msg)
}
}
}