pub struct CounterExampleGenerator { /* private fields */ }Expand description
Counter-example generator
Implementations§
Source§impl CounterExampleGenerator
impl CounterExampleGenerator
Sourcepub fn with_limits(
max_cex: usize,
max_candidates: usize,
max_time: Duration,
) -> Self
pub fn with_limits( max_cex: usize, max_candidates: usize, max_time: Duration, ) -> Self
Create with custom limits
Sourcepub fn generate(
&mut self,
quantifier: &QuantifiedFormula,
model: &CompletedModel,
manager: &mut TermManager,
) -> CexGenerationResult
pub fn generate( &mut self, quantifier: &QuantifiedFormula, model: &CompletedModel, manager: &mut TermManager, ) -> CexGenerationResult
Generate counterexamples for a quantifier.
Returns a CexGenerationResult containing the counterexamples found and
a flag indicating whether all evaluations resolved to concrete booleans.
Sourcepub fn set_generation_bound(&mut self, bound: u32)
pub fn set_generation_bound(&mut self, bound: u32)
Set generation bound for candidate selection
Sourcepub fn inject_extra_candidates(
&mut self,
extras: &FxHashMap<SortId, Vec<TermId>>,
)
pub fn inject_extra_candidates( &mut self, extras: &FxHashMap<SortId, Vec<TermId>>, )
Inject extra candidates from outside (e.g. Skolem function applications).
These are merged into the per-sort candidate cache so they appear in
every subsequent build_candidate_lists call.
Sourcepub fn clear_cache(&mut self)
pub fn clear_cache(&mut self)
Clear the candidate cache
Trait Implementations§
Source§impl Debug for CounterExampleGenerator
impl Debug for CounterExampleGenerator
Auto Trait Implementations§
impl Freeze for CounterExampleGenerator
impl RefUnwindSafe for CounterExampleGenerator
impl Send for CounterExampleGenerator
impl Sync for CounterExampleGenerator
impl Unpin for CounterExampleGenerator
impl UnsafeUnpin for CounterExampleGenerator
impl UnwindSafe for CounterExampleGenerator
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