pub trait FunDef<Info = ()> {
type FunSym: Sym2Smt<Info>;
type SortedSym: SymAndSort<Info>;
type ArgsIter: Iterator<Item = Self::SortedSym>;
type OutSort: Sort2Smt;
type Body: Expr2Smt<Info>;
fn fun_sym(&self) -> &Self::FunSym;
fn args(&self) -> Self::ArgsIter;
fn out_sort(&self) -> &Self::OutSort;
fn body(&self) -> &Self::Body;
}
Expand description
Function definition data.
Used by Solver::define_funs_rec
and Solver::define_funs_rec
.
Required Associated Types
sourcetype SortedSym: SymAndSort<Info>
type SortedSym: SymAndSort<Info>
Type of the arguments (name, sort).