pub struct AdvancedModelBuilder { /* private fields */ }Expand description
Advanced model builder for theory combination
Implementations§
Source§impl AdvancedModelBuilder
impl AdvancedModelBuilder
Sourcepub fn new(config: ModelBuilderConfig) -> Self
pub fn new(config: ModelBuilderConfig) -> Self
Create a new model builder
Sourcepub fn build_model(
&mut self,
boolean_assignments: &FxHashMap<TermId, bool>,
equiv_classes: &FxHashMap<TermId, TermId>,
) -> Result<Model, String>
pub fn build_model( &mut self, boolean_assignments: &FxHashMap<TermId, bool>, equiv_classes: &FxHashMap<TermId, TermId>, ) -> Result<Model, String>
Build a model from the current solver state
Sourcepub fn add_witness_obligation(&mut self, term: TermId)
pub fn add_witness_obligation(&mut self, term: TermId)
Add a witness obligation for existential quantifier
Sourcepub fn stats(&self) -> &ModelBuilderStats
pub fn stats(&self) -> &ModelBuilderStats
Get statistics
Auto Trait Implementations§
impl Freeze for AdvancedModelBuilder
impl RefUnwindSafe for AdvancedModelBuilder
impl Send for AdvancedModelBuilder
impl Sync for AdvancedModelBuilder
impl Unpin for AdvancedModelBuilder
impl UnwindSafe for AdvancedModelBuilder
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> 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