pub enum DeclarationKind {
Inductive,
Constructor,
Definition,
Theorem,
Opaque,
Axiom,
Quotient,
}Expand description
What a declaration is, as the kernel holds it.
Variants§
Inductive
Constructor
Definition
Transparent: its body unfolds.
Theorem
A checked proposition, Lean’s theorem: its proof is written, checked by both kernels, and
unfolds exactly as Lean’s kernel unfolds a theorem.
Opaque
Checked, then sealed (Lean’s opaque): its value is written and checked, and never unfolds.
Axiom
Assumed: no proof exists.
Quotient
One of the kernel’s four certified quotient primitives (Lean’s init_quot).
Implementations§
Trait Implementations§
Source§impl Clone for DeclarationKind
impl Clone for DeclarationKind
Source§fn clone(&self) -> DeclarationKind
fn clone(&self) -> DeclarationKind
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 Debug for DeclarationKind
impl Debug for DeclarationKind
Source§impl Hash for DeclarationKind
impl Hash for DeclarationKind
Source§impl Ord for DeclarationKind
impl Ord for DeclarationKind
Source§fn cmp(&self, other: &DeclarationKind) -> Ordering
fn cmp(&self, other: &DeclarationKind) -> 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 DeclarationKind
impl PartialEq for DeclarationKind
Source§impl PartialOrd for DeclarationKind
impl PartialOrd for DeclarationKind
impl Copy for DeclarationKind
impl Eq for DeclarationKind
impl StructuralPartialEq for DeclarationKind
Auto Trait Implementations§
impl Freeze for DeclarationKind
impl RefUnwindSafe for DeclarationKind
impl Send for DeclarationKind
impl Sync for DeclarationKind
impl Unpin for DeclarationKind
impl UnsafeUnpin for DeclarationKind
impl UnwindSafe for DeclarationKind
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,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.