[−][src]Struct smt2::client::Client
SMT2-lib solver environment.
Implementations
impl<L, C: Constant, S: Sort, F: Function> Client<L, C, S, F> where
L: Display,
C: Display,
[src]
L: Display,
C: Display,
pub fn new(
cmd: Command,
sort_bool: S,
cst_true: F,
cst_false: F
) -> ExecResult<Client<L, C, S, F>, Error<L, C, S, F>>
[src]
cmd: Command,
sort_bool: S,
cst_true: F,
cst_false: F
) -> ExecResult<Client<L, C, S, F>, Error<L, C, S, F>>
pub fn new_id(&mut self) -> Ident
[src]
pub fn new_sort_id(&mut self) -> Ident
[src]
pub fn assert(
&mut self,
term: &Typed<Term<Self>>
) -> ExecResult<(), Error<L, C, S, F>>
[src]
&mut self,
term: &Typed<Term<Self>>
) -> ExecResult<(), Error<L, C, S, F>>
Assert.
pub fn check_sat(&mut self) -> ExecResult<CheckSat, Error<L, C, S, F>>
[src]
Check satifiability.
pub fn declare_const(
&mut self,
cst: F,
sort: &GroundSort<S>
) -> ExecResult<(), Error<L, C, S, F>>
[src]
&mut self,
cst: F,
sort: &GroundSort<S>
) -> ExecResult<(), Error<L, C, S, F>>
Declare a new constant.
pub fn declare_sort(&mut self, sort: S) -> ExecResult<(), Error<L, C, S, F>>
[src]
Declare new sort.
pub fn predefined_fun<Id: ToString>(
&mut self,
id: Id,
function: F,
sig: FunctionSignature<S>
) -> ExecResult<(), Error<L, C, S, F>>
[src]
&mut self,
id: Id,
function: F,
sig: FunctionSignature<S>
) -> ExecResult<(), Error<L, C, S, F>>
Set the function object for the given predefined function.
pub fn declare_fun(
&mut self,
function: F,
args: &Vec<GroundSort<S>>,
return_sort: &GroundSort<S>
) -> ExecResult<(), Error<L, C, S, F>>
[src]
&mut self,
function: F,
args: &Vec<GroundSort<S>>,
return_sort: &GroundSort<S>
) -> ExecResult<(), Error<L, C, S, F>>
Declare new function.
pub fn define_sort(
&mut self,
_def: &DataTypeDeclaration<Self>
) -> ExecResult<(), Error<L, C, S, F>>
[src]
&mut self,
_def: &DataTypeDeclaration<Self>
) -> ExecResult<(), Error<L, C, S, F>>
Define previously declared sort.
pub fn exit(&mut self) -> ExecResult<(), Error<L, C, S, F>>
[src]
Exit the solver.
pub fn get_model(&mut self) -> ExecResult<Model<Self>, Error<L, C, S, F>>
[src]
pub fn set_logic(&mut self, logic: &L) -> ExecResult<(), Error<L, C, S, F>>
[src]
Set the solver's logic.
Trait Implementations
impl<L, C: Clone + PartialEq, S: Sort, F: Function> Environment for Client<L, C, S, F>
[src]
type Logic = L
type Ident = Ident
type Constant = Sorted<C, GroundSort<S>>
type Sort = S
type Function = F
type Error = Error<L, C, S, F>
fn sort(&self, id: &Ident) -> Option<S>
[src]
Find a sort.
fn sort_bool(&self) -> GroundSort<S>
[src]
Get the Bool sort, which is the only required sort.
fn typecheck_function(
&self,
_checker: &mut TypeChecker<S>,
_f: &F,
_args: &[TypeRef<S>],
_return_sort: TypeRef<S>
)
[src]
&self,
_checker: &mut TypeChecker<S>,
_f: &F,
_args: &[TypeRef<S>],
_return_sort: TypeRef<S>
)
Auto Trait Implementations
impl<L, C, S, F> !RefUnwindSafe for Client<L, C, S, F>
impl<L, C, S, F> !Send for Client<L, C, S, F>
impl<L, C, S, F> !Sync for Client<L, C, S, F>
impl<L, C, S, F> Unpin for Client<L, C, S, F> where
C: Unpin,
F: Unpin,
L: Unpin,
S: Unpin,
C: Unpin,
F: Unpin,
L: Unpin,
S: Unpin,
impl<L, C, S, F> !UnwindSafe for Client<L, C, S, F>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,