Struct isla_axiomatic::axiomatic::model::Model [−][src]
A model, as parsed from the SMT solver output, contains a list
of function declarations (which can have arity 0 for
constants) for each declare-const and declare-fun in the
model. A model can also be parameterised by a set of
events. The two lifetime parameters correspond to the
underlying smtlib model 's
and the events 'ev
.
Implementations
impl<'s, 'ev, B: BV> Model<'s, 'ev, B>
[src]
pub fn parse(events: &[&'ev str], model: &'s str) -> Option<Self>
[src]
Parse a model from a string of the form (model (define-fun …) (define-fun …) …)
pub fn interpret(
&mut self,
f: &str,
args: &[SexpVal<'ev, B>]
) -> Result<SexpVal<'ev, B>, InterpretError>
[src]
&mut self,
f: &str,
args: &[SexpVal<'ev, B>]
) -> Result<SexpVal<'ev, B>, InterpretError>
Interprets a function in the model
pub fn interpret_rel(
&mut self,
rel: &str,
events: &[&'ev str]
) -> Result<Vec<(&'ev str, &'ev str)>, InterpretError>
[src]
&mut self,
rel: &str,
events: &[&'ev str]
) -> Result<Vec<(&'ev str, &'ev str)>, InterpretError>
Inteprets a relation (an Event * Event -> Bool function) over a set of events. Note that all events in this set must have been used to parameterise the model in Model::parse.
pub fn interpret_bits(&mut self, val: &Val<B>) -> Result<B, InterpretError>
[src]
Interpret either a bitvector symbol in the model, or just return the bitvector directory if the val is concrete
Auto Trait Implementations
impl<'s, 'ev, B> RefUnwindSafe for Model<'s, 'ev, B> where
B: RefUnwindSafe,
B: RefUnwindSafe,
impl<'s, 'ev, B> Send for Model<'s, 'ev, B> where
B: Send,
B: Send,
impl<'s, 'ev, B> Sync for Model<'s, 'ev, B> where
B: Sync,
B: Sync,
impl<'s, 'ev, B> Unpin for Model<'s, 'ev, B> where
B: Unpin,
B: Unpin,
impl<'s, 'ev, B> UnwindSafe for Model<'s, 'ev, B> where
B: UnwindSafe,
B: UnwindSafe,
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,
pub 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> Same<T> for T
type Output = T
Should always be Self
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.
pub 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>,