pub enum WitnessTerm {
Elem {
element: Element,
},
Const {
constant: C,
},
App {
function: F,
terms: Vec<WitnessTerm>,
},
}Expand description
Implements WitnessTermTrait, with Element as the ElementType and serves as witness
terms for Model.
Variants§
Elem
Wraps an instance of Element, witnessing itself.
Const
Wraps an instance of C as a witness term.
App
Corresponds to a composite witness term, made by applying an instance of F to a list of
witness terms.
Implementations§
Source§impl WitnessTerm
impl WitnessTerm
Sourcepub fn witness(term: &Term, lookup: &impl Fn(&V) -> Element) -> WitnessTerm
pub fn witness(term: &Term, lookup: &impl Fn(&V) -> Element) -> WitnessTerm
Given a term and an assignment function assign from variables of the term to elements
of a Model, constructs a WitnessTerm.
Trait Implementations§
Source§impl Clone for WitnessTerm
impl Clone for WitnessTerm
Source§fn clone(&self) -> WitnessTerm
fn clone(&self) -> WitnessTerm
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 moreSource§impl Display for WitnessTerm
impl Display for WitnessTerm
Source§impl FApp for WitnessTerm
impl FApp for WitnessTerm
Source§impl From<C> for WitnessTerm
impl From<C> for WitnessTerm
Source§impl From<Element> for WitnessTerm
impl From<Element> for WitnessTerm
Source§impl Hash for WitnessTerm
impl Hash for WitnessTerm
Source§impl Ord for WitnessTerm
impl Ord for WitnessTerm
Source§fn cmp(&self, other: &WitnessTerm) -> Ordering
fn cmp(&self, other: &WitnessTerm) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for WitnessTerm
impl PartialEq for WitnessTerm
Source§impl PartialOrd for WitnessTerm
impl PartialOrd for WitnessTerm
Source§impl WitnessTermTrait for WitnessTerm
impl WitnessTermTrait for WitnessTerm
Source§type ElementType = Element
type ElementType = Element
Is the type of elements that are witnessed by the witness term. Read more
Source§fn equals(self, rhs: Self) -> Observation<Self>
fn equals(self, rhs: Self) -> Observation<Self>
Returns an equational
Observation between the receiver and the given witness term.impl Eq for WitnessTerm
impl StructuralPartialEq for WitnessTerm
Auto Trait Implementations§
impl Freeze for WitnessTerm
impl !RefUnwindSafe for WitnessTerm
impl !Send for WitnessTerm
impl !Sync for WitnessTerm
impl Unpin for WitnessTerm
impl UnsafeUnpin for WitnessTerm
impl !UnwindSafe for WitnessTerm
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