pub enum Command<E: Environment> {
Assert(Typed<Term<E>>),
CheckSat,
DeclareConst(E::Ident, GroundSort<E::Sort>),
DeclareDatatypes(Vec<SortDeclaration<E>>, Vec<UnresolvedDataTypeDeclaration<E>>),
DeclareFun(E::Ident, Vec<GroundSort<E::Sort>>, GroundSort<E::Sort>),
Exit,
GetModel,
SetLogic(E::Logic),
}
Expand description
SMT2-lib command.
Variants§
Assert(Typed<Term<E>>)
Assertion.
CheckSat
Check sat.
DeclareConst(E::Ident, GroundSort<E::Sort>)
Declare a cosntant.
DeclareDatatypes(Vec<SortDeclaration<E>>, Vec<UnresolvedDataTypeDeclaration<E>>)
Declare new datatypes.
The declare-datatype
is desigarized into declare-datatypes
.
DeclareFun(E::Ident, Vec<GroundSort<E::Sort>>, GroundSort<E::Sort>)
Declare a new uninterpreted function.
Exit
Exit the program.
GetModel
Get a model.
SetLogic(E::Logic)
Set the solver logic.
Implementations§
Trait Implementations§
Source§impl<E: Environment> Untypable for Command<E>
impl<E: Environment> Untypable for Command<E>
type Sort = <E as Environment>::Sort
type Environment = E
fn type_decoration( &mut self, checker: &mut TypeChecker<Self::Sort>, env: &Self::Environment, )
Auto Trait Implementations§
impl<E> Freeze for Command<E>where
<E as Environment>::Ident: Freeze,
<E as Environment>::Logic: Freeze,
<E as Environment>::Sort: Freeze,
<E as Environment>::Constant: Freeze,
<E as Environment>::Function: Freeze,
impl<E> RefUnwindSafe for Command<E>where
<E as Environment>::Ident: RefUnwindSafe,
<E as Environment>::Logic: RefUnwindSafe,
<E as Environment>::Sort: RefUnwindSafe,
<E as Environment>::Constant: RefUnwindSafe,
<E as Environment>::Function: RefUnwindSafe,
impl<E> Send for Command<E>where
<E as Environment>::Ident: Send,
<E as Environment>::Logic: Send,
<E as Environment>::Sort: Send,
<E as Environment>::Constant: Send,
<E as Environment>::Function: Send,
impl<E> Sync for Command<E>where
<E as Environment>::Ident: Sync,
<E as Environment>::Logic: Sync,
<E as Environment>::Sort: Sync,
<E as Environment>::Constant: Sync,
<E as Environment>::Function: Sync,
impl<E> Unpin for Command<E>where
<E as Environment>::Ident: Unpin,
<E as Environment>::Logic: Unpin,
<E as Environment>::Sort: Unpin,
<E as Environment>::Constant: Unpin,
<E as Environment>::Function: Unpin,
impl<E> UnwindSafe for Command<E>where
<E as Environment>::Ident: UnwindSafe,
<E as Environment>::Logic: UnwindSafe,
<E as Environment>::Sort: UnwindSafe,
<E as Environment>::Constant: UnwindSafe,
<E as Environment>::Function: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more