pub struct CoreExistentialVar<L: Language> {
pub kind: CoreKind<L>,
pub var_index: VarIndex,
}
Fields§
§kind: CoreKind<L>
§var_index: VarIndex
Trait Implementations§
Source§impl<L: Clone + Language> Clone for CoreExistentialVar<L>
impl<L: Clone + Language> Clone for CoreExistentialVar<L>
Source§fn clone(&self) -> CoreExistentialVar<L>
fn clone(&self) -> CoreExistentialVar<L>
Returns a copy 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<L: Language> CoreVisit<L> for CoreExistentialVar<L>
impl<L: Language> CoreVisit<L> for CoreExistentialVar<L>
Source§fn free_variables(&self) -> Vec<CoreVariable<L>>
fn free_variables(&self) -> Vec<CoreVariable<L>>
Extract the list of free variables (for the purposes of this function, defined by
Variable::is_free
).
The list may contain duplicates and must be in a determinstic order (though the order itself isn’t important).Source§fn size(&self) -> usize
fn size(&self) -> usize
Measures the overall size of the term by counting constructors etc.
Used to determine overflow.
Source§fn assert_valid(&self)
fn assert_valid(&self)
Asserts various validity constraints and panics if they are not held.
These validition constraints should never fail unless there is a bug in our logic.
This is to aid with fuzzing and bug detection.
Source§fn references_only_universal_variables(&self) -> bool
fn references_only_universal_variables(&self) -> bool
True if this term references only universal variables.
This means that it contains no existential variables.
If this is a goal, then when we prove it true, we don’t expect any substitution.
This is similar, but not identical, to the commonly used term “ground term”,
which in Prolog refers to a term that contains no variables. The difference here
is that the term may contain variables, but only those instantiated universally (∀).
Source§impl<L: Language> Debug for CoreExistentialVar<L>
impl<L: Language> Debug for CoreExistentialVar<L>
Source§impl<L: Language> DowncastTo<CoreExistentialVar<L>> for CoreExistentialVar<L>
impl<L: Language> DowncastTo<CoreExistentialVar<L>> for CoreExistentialVar<L>
fn downcast_to(&self) -> Option<CoreExistentialVar<L>>
Source§impl<L: Language> DowncastTo<CoreExistentialVar<L>> for CoreVariable<L>
impl<L: Language> DowncastTo<CoreExistentialVar<L>> for CoreVariable<L>
fn downcast_to(&self) -> Option<CoreExistentialVar<L>>
Source§impl<L: Ord + Language> Ord for CoreExistentialVar<L>
impl<L: Ord + Language> Ord for CoreExistentialVar<L>
Source§fn cmp(&self, other: &CoreExistentialVar<L>) -> Ordering
fn cmp(&self, other: &CoreExistentialVar<L>) -> 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<L: PartialOrd + Language> PartialOrd for CoreExistentialVar<L>
impl<L: PartialOrd + Language> PartialOrd for CoreExistentialVar<L>
Source§impl<L: Language> UpcastFrom<CoreExistentialVar<L>> for CoreExistentialVar<L>
impl<L: Language> UpcastFrom<CoreExistentialVar<L>> for CoreExistentialVar<L>
fn upcast_from(v: CoreExistentialVar<L>) -> CoreExistentialVar<L>
Source§impl<L: Language> UpcastFrom<CoreExistentialVar<L>> for CoreVariable<L>
impl<L: Language> UpcastFrom<CoreExistentialVar<L>> for CoreVariable<L>
fn upcast_from(v: CoreExistentialVar<L>) -> CoreVariable<L>
impl<L: Copy + Language> Copy for CoreExistentialVar<L>
impl<L: Eq + Language> Eq for CoreExistentialVar<L>
impl<L: Language> StructuralPartialEq for CoreExistentialVar<L>
Auto Trait Implementations§
impl<L> Freeze for CoreExistentialVar<L>
impl<L> RefUnwindSafe for CoreExistentialVar<L>
impl<L> Send for CoreExistentialVar<L>
impl<L> Sync for CoreExistentialVar<L>
impl<L> Unpin for CoreExistentialVar<L>
impl<L> UnwindSafe for CoreExistentialVar<L>
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