pub struct Model { /* private fields */ }Expand description
A model (assignment to variables)
Implementations§
Source§impl Model
impl Model
Sourcepub fn minimize(&self, essential_vars: &[TermId]) -> Model
pub fn minimize(&self, essential_vars: &[TermId]) -> Model
Minimize the model by removing redundant assignments Returns a new minimized model containing only essential assignments
Sourcepub fn assignments(&self) -> &FxHashMap<TermId, TermId>
pub fn assignments(&self) -> &FxHashMap<TermId, TermId>
Get the assignments map (for MBQI integration)
Sourcepub fn eval(&self, term: TermId, manager: &mut TermManager) -> TermId
pub fn eval(&self, term: TermId, manager: &mut TermManager) -> TermId
Evaluate a term in this model Returns the simplified/evaluated term
Source§impl Model
impl Model
Sourcepub fn pretty_print(&self, manager: &TermManager) -> String
pub fn pretty_print(&self, manager: &TermManager) -> String
Pretty print the model in SMT-LIB2 format
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Model
impl RefUnwindSafe for Model
impl Send for Model
impl Sync for Model
impl Unpin for Model
impl UnwindSafe for Model
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more