pub struct InstantiationPattern {
pub terms: Vec<TermId>,
pub vars: FxHashSet<Spur>,
pub num_vars: usize,
pub quality: f64,
}Expand description
Pattern for instantiation (E-matching style)
Fields§
§terms: Vec<TermId>Terms that form the pattern
vars: FxHashSet<Spur>Variables that must be matched
num_vars: usizeNumber of variables
quality: f64Pattern quality (higher = better)
Implementations§
Source§impl InstantiationPattern
impl InstantiationPattern
Sourcepub fn extract_patterns(
quantifier: &QuantifiedFormula,
manager: &TermManager,
) -> Vec<Self>
pub fn extract_patterns( quantifier: &QuantifiedFormula, manager: &TermManager, ) -> Vec<Self>
Extract patterns from a quantified formula
Trait Implementations§
Source§impl Clone for InstantiationPattern
impl Clone for InstantiationPattern
Source§fn clone(&self) -> InstantiationPattern
fn clone(&self) -> InstantiationPattern
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for InstantiationPattern
impl RefUnwindSafe for InstantiationPattern
impl Send for InstantiationPattern
impl Sync for InstantiationPattern
impl Unpin for InstantiationPattern
impl UnwindSafe for InstantiationPattern
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